web-dev-qa-db-fra.com

Comment grep une chaîne dans un répertoire et tous les fichiers de ses sous-répertoires dans LINUX?

Comment grep une chaîne ou un texte dans un répertoire et tous les fichiers de ses sous-répertoires dans LINUX?

218
Rogers

Si votre grep supporte -R, faites:

grep -R 'string' dir/

Sinon, utilisez find:

find dir/ -type f -exec grep -H 'string' {} +
396
John Kugelman
grep -r -e string directory

-r est pour récursif; -e est facultatif, mais son argument spécifie l'expression rationnelle à rechercher. Fait intéressant, POSIX grep n'est pas obligé de prendre en charge -r (ou -R), mais Je suis pratiquement certain que System V grep l'a fait, donc en pratique, ils le font presque tous. Certaines versions de grep prennent en charge -R ainsi que (ou éventuellement à la place de) -r; AFAICT, ça veut dire la même chose.

47
Jonathan Leffler