Détails
Comment puis-je faire un grep récursif ?
Comment puis-je récursivement grep
tous les répertoires et sous-répertoires ?
find . | xargs grep "texthere" *
1613
3
Le premier paramètre représente l'expression régulière à rechercher, tandis que le second représente le répertoire dans lequel la recherche doit être effectuée. Dans ce cas,
.
signifie le répertoire courant.Note : Ceci fonctionne pour GNU grep, et sur certaines plateformes comme Solaris, vous devez spécifiquement utiliser GNU grep par opposition à l'implémentation ancienne. Pour Solaris, il s'agit de la commande
ggrep
.Si vous connaissez l'extension ou le motif du fichier que vous souhaitez, une autre méthode consiste à utiliser l'option
--include
:Vous pouvez également mentionner les fichiers à exclure avec
--exclude
.Ag
Si vous effectuez fréquemment des recherches dans le code, Ag (The Silver Searcher) est une alternative beaucoup plus rapide à grep, qui est adaptée à la recherche dans le code. Par exemple, il est récursif par défaut et ignore automatiquement les fichiers et répertoires listés dans
.gitignore
, ainsi vous n'avez pas besoin de passer les mêmes options d'exclusion encombrantes à grep ou find.Aussi :
mais
grep -r
est une meilleure réponse.