Si quieres encontrar texto específico en un directorio determinado de forma recursiva, la mejor forma de hacerlo sería con el comando grep y un patrón.
Así, sin más:
grep -ri something *
-r o -R es recursivo,
-i para ignorar el caso
-w significa igualar toda la palabra.
-Se puede añadir -l (L minúscula) para dar sólo el nombre de los archivos coincidentes.
Además, se pueden utilizar las opciones -exclude, -include y -exclude-dir para realizar búsquedas eficaces.
Esto sólo buscará en aquellos archivos que tengan extensiones .c o .h:
grep –include=\*.{c,h} -rnw '/path/to/somewhere/' -e "pattern"
Esto excluirá la búsqueda de todos los archivos que terminen con la extensión .o:
grep –exclude=*.o -rnw '/path/to/somewhere/' -e "pattern"
En el caso de los directorios, es posible excluirlos mediante el parámetro -exclude-dir.
grep –exclude-dir={dir1,dir2,*.dst} -rnw '/path/to/somewhere/' -e "pattern"
Para más opciones, consulte man grep.