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” {} ;

Soyez le premier à commenter

Poster un Commentaire

Votre adresse de messagerie ne sera pas publiée.


*