Grep · 3 min read · Sep 18, 2025

Comment effectuer une recherche par motif dans des fichiers en utilisant Grep

Dans notre premier article sur la commande grep, nous avons couvert plusieurs fonctionnalités que l’outil offre, y compris comment l’utiliser pour rechercher uniquement des mots, rechercher deux mots, compter les lignes contenant le mot correspondant, et plus encore. En plus de cela, l’outil fournit d’autres fonctionnalités faciles à comprendre et utiles. Dans cet article, nous allons discuter d’un certain nombre de celles-ci.

Veuillez noter que tous les exemples mentionnés dans ce tutoriel ont été testés sur Ubuntu 14.04LTS. De plus, nous utiliserons le fichier suivant (test_file1.txt) pour tous nos exemples liés à grep dans ce tutoriel :

fichier de test grep

Recherche insensible à la casse avec Grep

Par défaut, grep est sensible à la casse, ce qui signifie, par exemple, qu’il traitera ‘ABC’ et ‘abc’ séparément. Cependant, si vous souhaitez que votre recherche soit insensible à la casse, vous pouvez utiliser l’option de ligne de commande -i.

grep -i [chaîne-à-rechercher] [nom-de-fichier]

Par exemple :

grep -i "linux" test_file1.txt

Remarque : Non seulement le motif (par exemple, ‘linux’ dans l’exemple ci-dessus), la page de manuel de grep indique que l’option -i s’assure également que la sensibilité à la casse pour les fichiers d’entrée est également ignorée. Voici l’extrait :

 -i, --ignore-case  
 Ignorer les distinctions de casse dans le MOTIF et les fichiers d'entrée. (-i est spécifié par POSIX.)

Cependant, nous n’avons pas pu reproduire le comportement lié aux fichiers d’entrée de notre côté.

Afficher certaines lignes non correspondantes avec la ligne contenant la chaîne correspondante dans Grep

En utilisant l’outil, vous pouvez également afficher un nombre spécifié de lignes après, avant ou autour de la ligne contenant la chaîne correspondante.

Utilisez l’option de ligne de commande -A pour imprimer ‘N’ lignes après la ligne correspondante.

$ grep -A N [chaîne-à-rechercher] [nom-de-fichier]

Par exemple :

$ grep -A 2 "linux" test_file1.txt

Voici la sortie de la commande ci-dessus

De même, l’option de ligne de commande -B est utilisée pour afficher les lignes avant la ligne correspondante.

$ grep -B N [chaîne-à-rechercher] [nom-de-fichier]

Par exemple :

$ grep -B 2 "linux" test_file1.txt

Voici la sortie :

sortie grep

Enfin, pour imprimer les lignes autour de la ligne correspondante, utilisez l’option de ligne de commande -C.

$ grep -C N [chaîne-à-rechercher] [nom-de-fichier]

Par exemple :

$ grep -C 2 "linux" test_file1.txt

Voici la sortie capturée :

Imprimer uniquement les chaînes correspondantes dans Grep

Vous êtes également autorisé à imprimer uniquement la chaîne correspondante sur la sortie standard (au lieu des lignes complètes qui sont affichées par défaut). Cette fonctionnalité peut être accessible en utilisant l’option de ligne de commande -o.

$ grep -o [chaîne-à-rechercher] [nom-de-fichier]

Par exemple, si le besoin est de rechercher une chaîne “linux” dans un fichier (mais les lignes complètes ne doivent pas être imprimées), alors nous utiliserons la commande suivante.

$ grep -o "linux" [nom-de-fichier]

Nous pouvons également utiliser des caractères génériques tels que et . pour grep plusieurs chaînes. Par exemple, si nous voulons grep un groupe de mots commençant par “how” et se terminant par “linux”, alors nous pouvons utiliser la commande suivante.

$ grep -o "how.*linux" [nom-de-fichier]

Afficher la position dans Grep

La commande grep vous permet également d’afficher le décalage en octets de la ligne dans laquelle la chaîne correspondante se produit. Cette fonctionnalité peut être accessible en utilisant l’option de ligne de commande -b. Mais pour une meilleure utilisation de cette option, vous pouvez l’utiliser avec l’option de ligne de commande -o, qui affichera la position exacte de la chaîne correspondante.

$ grep -o -b [chaîne-à-rechercher] [nom-de-fichier]

Par exemple :

$ grep -o -b "for" test_file1.txt

Voici la sortie :

Conclusion

Vous n’aurez peut-être pas besoin de toutes ces options tous les jours, mais vous devriez au moins en avoir connaissance car vous ne savez jamais quand elles pourraient être utiles. Grep devient encore plus puissant lorsqu’il est utilisé avec des expressions régulières, mais nous laisserons ce sujet pour un autre jour.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.