Dans un précédent article, j’ai expliqué comment effectuer une recherche dans un fichier avec la commande grep.
Grep permet aussi de recherche un texte dans un ensemble de fichier d’un même répertoire, voici un exemple :
grep "keyword" *
En rajoutant l’option -r il est possible de parcourir récursivement le répertoire, et ses sous-répertoires :
grep -r "keyword" *
Il est également possible de filtrer les fichiers dans lesquels effectuer le recherche en utilisant la commande find.
Dans l’exemple ci dessus, j’effectue ma recherche que dans les fichiers ayant une extension php.
Seul le nom du fichier sera affiché.
find . -type f -name "*.php" -exec grep -l "keyword" {} \;