grep -r -e string directory
-r est pour récursif ; -e est facultatif mais son argument spécifie la regex à rechercher. Fait intéressant, POSIX grep n'est pas nécessaire pour prendre en charge -r (ou -R ), mais je suis pratiquement certain que System V en pratique, ils le font (presque) tous. Certaines versions de grep a fait, alorsgrep prend en charge -R ainsi que (ou éventuellement à la place de) -r; AFAICT, ça veut dire la même chose.
Si votre grep prend en charge -R , faites :
grep -R 'string' dir/
Sinon, utilisez find :
find dir/ -type f -exec grep -H 'string' {} +