Linux chercher les fichiers contenant un mot donné

Il est parfois utile de savoir comment trouver les fichiers contenant telle ou telle information.

Pour cela il suffit d’utiliser la puissante commande de recherche grep.
grep -r -i -l 'chaine' ./

Cette commande va chercher la chaine de caractères « chaine », à remplacer par le mot que vous cherchez bien sûr.

-r : indique la récursivité, on va chercher dans tous les fichiers du répertoire courant indiqué par ./
si on veut rechercher dans un autre répertoire on remplace ./ par /nomdurépertoire

-i : insensible à la casse (minuscule/majuscule) de la chaine

-l : donne uniquement une liste de fichiers dans le résultat, sinon affiche en plus toute la ligne contenant la chaine recherchée.

On peut aussi écrire la commande ainsi c’est la même chose :
grep -ril "chaine" ./

On peut également combiner avec les commandes find, ou cat mais restons dans la simplicité.

Si on veut que les résultats de recherche soient mis dans un fichier on ajoute à la fin de la commande le traditionnel

> /tmp/resultat.log

Mais attention à ce que ce fichier ne soit pas dans le chemin de recherche (et si on travaille sur une recherche depuis la racine sans l’option -l), on peut néanmoins l’exclure de la recherche

grep -r -i 'chaine' --exclude=resultat.log --exclude-dir=/proc --exclude-dir=/sys --exclude-dir=/dev / > /tmp/resultat.log

3 commentaire

Laisser un commentaire

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