Chercher tous les fichiers contenant une chaîne de caractères

Petit mémo pour trouver tous les fichiers contenant une chaîne de caractères en ligne de commande sous Linux. Nous utiliserons la commande GREP et les arguments l et R.

Un peu de théorie

-l, --files-with-matches
Ne pas afficher les résultats normaux. À la place, indiquer le nom des fichiers pour lesquels des résultats auraient été affichés. La recherche à l'intérieur de chaque fichier s'arrête dès la première concordance.

-R, -r, --recursive
Lire tous les fichiers à l'intérieur de chaque répertoire, récursivement. C'est équivalent à l'option -d recurse.

Source : http://pwet.fr/man/linux/commandes/grep

Exemple d'utilisation

Dans mon exemple, je souhaite trouver tous les fichiers contenant la chaîne de caractères "ma chaine" dans le répertoire /test

En utilisant un chemin absolu :

user@SRV-NEXTCLOUD:/# grep -lR "ma chaine" /test
/test/www/test2.php
/test/www/test.php
user@SRV-NEXTCLOUD:/#

En utilisant un chemin relatif :

user@SRV-NEXTCLOUD:/# cd /test
user@SRV-NEXTCLOUD:/test# grep -lR "ma chaine" .
./www/test2.php
./www/test.php
user@SRV-NEXTCLOUD:/test#

Laisser un commentaire

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