Je sais que je peux utiliser grep pour trouver un mot dans tous les fichiers présents dans un dossier comme celui-ci
grep -rn core .
Mais mon répertoire actuel a de nombreux sous-répertoires et je veux juste rechercher dans tous les fichiers xml présents dans le répertoire actuel et tous ses sous-répertoires. Comment puis je faire ça ?
J'ai essayé
grep -rn core *.xml // Does not work
Mais il recherche uniquement les fichiers xml présents dans le répertoire courant. Il ne le fait pas récursivement.
Essayez l'option --include
grep -R --include="*.xml" "pattern" /path/to/dir
Référence: Grep Inclure uniquement * Modèle de fichier .txt lors de l'exécution du mode récursif
Utilisez find
:
find /path/to/dir -name '*.xml' -exec grep -H 'pattern' {} \;
J'utilise cela souvent:
grep 'pattern' /path/to/dir/**/*.xml
avec zsh