Cet article explique comment commencer à utiliser le grep
commande sous Linux®.
Qu'est-ce que grep
?
Vous utilisez le grep
commande dans un système Linux ou Unix pour effectuer des recherches de texte pour un critère défini de mots ou de chaînes. grep
signifie G rechercher globalement un R E régulier xpression et P imprimez-le.
grep
syntaxe
L'exemple suivant montre la structure de commande de base :
grep 'string' filename(s)
Cette commande recherche et renvoie toutes les lignes de texte contenant le critère chaîne donné dans nom(s) de fichier .
Choix :
Vous pouvez ajouter l'une des options suivantes individuellement ou en combinaison pour affiner votre recherche :
- -i :imprime les lignes avec des critères correspondants tout en ignorant la casse (majuscule/minuscule).
- -l :Imprime uniquement les noms de fichiers.
- -n :Imprime les lignes avec les critères et les numéros de ligne correspondants.
- -c :Imprime le nombre de lignes avec des critères correspondants.
- -v :Imprime les lignes ne correspondant pas aux critères (recherche inversée).
- -w :Imprime les correspondances de mots entiers.
- -A n :Imprime n lignes après les matchs.
- -B n :Imprime n lignes avant les correspondances.
- -C n :Imprime n lignes avant et après les matchs.
Exemple grep
commandes avec sortie
Exemple :le fichier "example.txt" contient les 5 lignes suivantes :
hello world
Hello World
Hello Worlds
Hello Moon
321 Goodnight
Commande de base :recherchez et imprimez une correspondance exacte pour "monde"
[root@test ~]# grep world example.txt
hello world
Utilisez "-i" pour ignorer la casse
[root@test ~]# grep -i world example.txt
hello world
Hello World
Hello Worlds
Utilisez "-n" pour rechercher et imprimer les correspondances et inclure les numéros de ligne.
[root@test ~]# grep -n Hello example.txt
2:Hello World
3:Hello Worlds
4:Hello Moon
Utilisez "-c" pour rechercher et imprimer le nombre de correspondances de ligne.
[root@test ~]# grep -c hello example.txt
1
Utilisez une combinaison de "-c" et "-i" pour affiner la recherche.
[root@test ~]# grep -ci hello example.txt
4
Utilisez "-v" pour rechercher et imprimer toutes les lignes inverses (non correspondantes).
[root@test ~]# grep -v world example.txt
Hello World
Hello Worlds
Hello Moon
321 Goodnight
Utilisez une combinaison de "-v" et "-i" pour affiner la recherche.
[root@test ~]# grep -vi world example.txt
Hello Moon
321 Goodnight
Utilisez "-w" pour rechercher et imprimer des correspondances de mots entiers.
[root@test ~]# grep -w World example.txt
Hello World
Utilisez "-A n" pour trouver et imprimer les correspondances avec "n" lignes après la correspondance.
[root@test ~]# grep -A 2 Worlds example.txt
Hello Worlds
Hello Moon
321 Goodnight
Utilisez "-B n" pour trouver et imprimer les correspondances avec "n" lignes avant la correspondance.
[root@test ~]# grep -B 2 Goodnight example.txt
Hello Worlds
Hello Moon
321 Goodnight
Utilisez "CA n" pour trouver et imprimer la correspondance avec "n" lignes avant et après la correspondance.
[root@test ~]# grep -C 2 Worlds example.txt
hello world
Hello World
Hello Worlds
Hello Moon
321 Goodnight