Comment trouver du texte dans des fichiers sous Linux

Si vous souhaitez trouver un texte spécifique dans un répertoire donné de manière récursive, la meilleure façon de procéder est d'utiliser la commande grep et un motif.

C'est comme ça :

grep -ri something *

-r ou -R est récursif,
-i pour ignorer le cas
-w signifie que le mot entier doit être pris en compte.
-l (L minuscule) peut être ajouté pour ne donner que le nom des fichiers correspondants.

En outre, les drapeaux -exclude, -include, -exclude-dir peuvent être utilisés pour une recherche efficace.

La recherche ne portera que sur les fichiers portant l'extension .c ou .h :

grep –include=\*.{c,h} -rnw '/path/to/somewhere/' -e "pattern"

Cela exclura la recherche de tous les fichiers se terminant par l'extension .o :

grep –exclude=*.o -rnw '/path/to/somewhere/' -e "pattern"

Pour les répertoires, il est possible d'exclure un ou plusieurs répertoires particuliers grâce au paramètre -exclude-dir.

grep –exclude-dir={dir1,dir2,*.dst} -rnw '/path/to/somewhere/' -e "pattern"

Pour plus d'options, voir man grep.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *