Chercher une chaine dans des fichiers Linux

Imprimer Chercher une chaine dans des fichiers Linux


Sur linux, ne vous est-il jamais arrivé de vouloir chercher une chaine de caractères dans un dossier complet, autrement dit une multitude de fichiers ?
Et bien croyez-moi, si un jour vous devez chercher une adresse email, une adresse ip, un bout de code, ou autre, dans plusieurs milliers de fichiers, cette commande vous épargnera un gros travail manuel.

Placez vous dans le répertoire dans lequel vous souhaitez rechercher une chaine de caractères. Et tapez la commande suivante :

find . -name "*" -exec grep -Hn "trouvemoi" {} \;

En remplaçant trouvemoi par ce que vous cherchez.

Par exemple, si vous cherchez une adresse IP dans tous vos fichiers logs à la fois, vous ferez (ne tapez que ce qui se trouve après le #) :

monlinux / # cd /var/log
monlinux log # find . -name "*" -exec grep -Hn "192.168.0.1" {} \;

Ajouté le 03-11-2008
Lu 6445 fois
Astuce ajoutée par : Damien Desrousseaux
Pas de support par email, veuillez utiliser le forum informatique pour toute question.