Chercher une chaine de caractères dans des fichiers Linux
Source: tuto-linux.com
Sur Linux, ne vous est-il jamais arrivé de vouloir chercher une chaîne 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 chaîne 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" {} \;
Une autre technique consiste à utiliser “rgrep
” qui va effectuer un “grep
” récursif à partir du dossier dans lequel on se trouve et dans toute l’arborescence descendante.