Puedes usar acuse de recibo. Es como grep para el código fuente. Puede escanear todo su sistema de archivos con él.
Solo haz:
ack 'text-to-find-here'
En su directorio raíz.
También puede usar expresiones regulares, especificar el tipo de archivo, etc.
ACTUALIZAR
Acabo de descubrir The Silver Searcher, que es como ack pero de 3 a 5 veces más rápido e incluso ignora los patrones de un .gitignore archivo.
Haz lo siguiente:
grep -rnw '/path/to/somewhere/' -e 'pattern'
-ro-Res recursivo,-nes el número de línea, y-wsignifica coincidir con la palabra completa.-l(L minúscula) se puede agregar para dar simplemente el nombre de archivo de los archivos coincidentes.-ees el patrón utilizado durante la búsqueda
Junto con estos, --exclude , --include , --exclude-dir las banderas podrían usarse para una búsqueda eficiente:
- Esto solo 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"
- Para los directorios, es posible excluir uno o más directorios usando el
--exclude-dirparámetro. Por ejemplo, esto excluirá los directorios dir1/, dir2/ y todos ellos que coincidan con *.dst/:
grep --exclude-dir={dir1,dir2,*.dst} -rnw '/path/to/somewhere/' -e "pattern"
Esto funciona muy bien para mí, para lograr casi el mismo propósito que el tuyo.
Para obtener más opciones, consulte man grep .
Utilice grep -ilR :
grep -Ril "text-to-find-here" /
isignifica ignorar caso (opcional en su caso).Rsignifica recursivo.lsignifica "mostrar el nombre del archivo, no el resultado en sí"./significa comenzar en la raíz de su máquina.