Cómo encontrar texto en archivos en Linux

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.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *