Recherche sur dépannage
Archives Articles

Rechercher Chaine caractère dans plusieurs fichiers sous Linux

Description recherche Chaine Fichier Linux :

Nous avons souvent besoin de rechercher une chaine de caractère et ce sans savoir dans quel fichier(s) se trouvant dans plusieurs répertoire à partir d’un chemin donné. En fait on sait que quelque part, par exemple dans un fichier programme PHP ou encore un fichier TPL, pour les utilisateur de SMARTY, ou dans un fichier texte.

Donc on sait ce que l’on veut mais on ne sait pas ou. Dans la vie de tous les jours, on dirait (nous les mecs) Chérie ou as-tu rangé xyz …  ;-)

La commande que tout le monde connait sous Linux est la fameuse commande : FIND mais on ne connait généralement que une ou deux utilisation simpliste de la commande.

Exemple de recherche simple :

Liste des fichiers et de leur chemin d’accès, contenant la chaine xyz et sur tout le disque

find / -name *xyz*

ou encore à partir du chemein ou on se trouve

find . -name *xyz*

Mais cela tout aussi pratique que cela soit, ne résout pas tout nos besoins et loin s’en faut. Nous allons donc demander de l’aide à notre autre ami linux monsieur grep.

Cas d’espèce : je souhaite trouver et afficher la liste de tous les fichiers préfixés par leur chemin d’accès et le numéro de ligne, contenant la chaine de caractère « dépannage informatique » et ce à partir du répertoire ou je me trouve, par exemple la racine de mon serveur Web (Apache sous Linux).

La commande sera :

find . « * » -exec grep -Hn « dépannage informatique » {} \;

La puissance et la rapidité d’exécution de cette commande est excellente et on peut encore aller plus loin et demander par exemple que le résultat soit envoyé dans un fichier texte que l’on pourra consulter à loisir.

Exemple : recherche dans un fichier : recherche.txt

find . « * » -exec grep -Hn « dépannage informatique » {} \; > recherche.txt


Une réponse à to “Recherche d’une Chaine de caractère dans plusieurs fichiers sous Linux”

Laisser un commentaire