Commande grep
Fermé
sapne
Messages postés
1
Date d'inscription
dimanche 5 février 2006
Statut
Membre
Dernière intervention
5 février 2006
-
5 févr. 2006 à 00:15
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 5 févr. 2006 à 09:39
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 5 févr. 2006 à 09:39
A voir également:
- Commande grep
- Invite de commande - Guide
- Commande terminal mac - Guide
- Commande cmd drole - Forum Programmation
- Grep plusieurs mots ✓ - Forum Linux / Unix
- Commande dism - Guide
2 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 567
5 févr. 2006 à 08:39
5 févr. 2006 à 08:39
Salut,
ls | grep *.c
grep utilise des expressions régulières. Ce que tu essaies c'est la variante caractères générique comme on utilise sous win quand on cherche des fichiers.
Si je traduit ta commande c'est : liste moi les fichiers de ce répertoire et ensuite choisi que les fichiers qui ont le motif le caractère * ensuite n'importe quel caractère (.) mais un seul fois et avec un c après.
En fait tu vois que grep ne sais pas lire grand chose.
Il pourrait trouver des choses comme *bc ou *hcd ou a*hcf et même mon_f*ichier.c
Pour trouver tes fichiers qui ont l'extension .c la commande find est suffisante
find /rep -name '*.c'
en ce cas la globalisation type windows fonctionne
pour grep ça sera
ls | grep '.*\.c'
Qui veut dire : liste les fichiers ensuite affiche seulement les fichiers qui on le motif ( n'importe quel caractère zéro fois, une fois ou plus suit d'un caractère point (.) et qui contient un c après le point.
Mais dans ce cas la commande grep va trouver aussi a.cc donc on va la modifier
ls | grep '.*\.c$'
Dans ce cas le motif demande une chaine qui se fini avec le caractère poin suit dans c
Utilise plutôt find en ce cas
ls | grep *.c
grep utilise des expressions régulières. Ce que tu essaies c'est la variante caractères générique comme on utilise sous win quand on cherche des fichiers.
Si je traduit ta commande c'est : liste moi les fichiers de ce répertoire et ensuite choisi que les fichiers qui ont le motif le caractère * ensuite n'importe quel caractère (.) mais un seul fois et avec un c après.
En fait tu vois que grep ne sais pas lire grand chose.
Il pourrait trouver des choses comme *bc ou *hcd ou a*hcf et même mon_f*ichier.c
Pour trouver tes fichiers qui ont l'extension .c la commande find est suffisante
find /rep -name '*.c'
en ce cas la globalisation type windows fonctionne
pour grep ça sera
ls | grep '.*\.c'
Qui veut dire : liste les fichiers ensuite affiche seulement les fichiers qui on le motif ( n'importe quel caractère zéro fois, une fois ou plus suit d'un caractère point (.) et qui contient un c après le point.
Mais dans ce cas la commande grep va trouver aussi a.cc donc on va la modifier
ls | grep '.*\.c$'
Dans ce cas le motif demande une chaine qui se fini avec le caractère poin suit dans c
Utilise plutôt find en ce cas
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
5 févr. 2006 à 09:25
5 févr. 2006 à 09:25
Salut,
Un simple :
ls *.c
devrait suffire dans ce cas précis. Pour une liste en colonne, rajoute "-1" à "ls" :
ls -1 *.c
Un simple :
ls *.c
devrait suffire dans ce cas précis. Pour une liste en colonne, rajoute "-1" à "ls" :
ls -1 *.c
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 567
5 févr. 2006 à 09:31
5 févr. 2006 à 09:31
Salut,
bien vu.
On doit choisir la méthode la plus simple.
Bonne journée.
lami20j
P.S. Mon intention c'était de le faire un peu comprendre la différance entre une simple globalisation et une regex
bien vu.
On doit choisir la méthode la plus simple.
Bonne journée.
lami20j
P.S. Mon intention c'était de le faire un peu comprendre la différance entre une simple globalisation et une regex
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
>
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
5 févr. 2006 à 09:39
5 févr. 2006 à 09:39
Salut,
Mon intention c'était de le faire un peu comprendre la différance entre une simple globalisation et une regex
J'avais bien compris (et c'est tout en ton "honneur"), mais les "regex" au début c'est "prise de tête en tout genre".
Bonne journée à toi aussi et aux z'autres bien entendu ;-))
Mon intention c'était de le faire un peu comprendre la différance entre une simple globalisation et une regex
J'avais bien compris (et c'est tout en ton "honneur"), mais les "regex" au début c'est "prise de tête en tout genre".
Bonne journée à toi aussi et aux z'autres bien entendu ;-))