Buscar palabra en archivos de texto recursivamente en linux



Aunque con el comando find puedes realizar una búsqueda dentro de ficheros, existen otra opciones más simples y que realizan la misma funcionalidad, como es el caso del comando grep.

Si necesitamos buscar una palabra o frase exacta dentro de algún fichero que esta alojado en nuestro ordenador y no sabemos donde esta exactamente, lee atentamente que este es tu post.

Con este comando podemos buscar texto en ficheros recursivamente a partir de una carpeta o directorio:

find ruta -type f | xargs grep "palabra"


Donde:
ruta: es el directorio a partir del cual queremos buscar.
palabra: es el texto que buscamos.

Ejemplo: buscar el texto “palabra” en el directorio actual:

find . -type f | xargs grep "palabraBuscar"

Este comando buscara a partir del directorio actual todos los ficheros tanto en el directorio actual como en subdirectorios que esten dentro del directorio actual (recursivo).


Otra forma de hacerlo sin el comando find, es con el comando grep:

grep “palabra” * -R

Si quitamos la opción -R solo buscaría en todos los ficheros que están en la ruta (carpeta) actual, si la carpeta tiene sub-directorios no buscará dentro de estos.

Con la opción -l te listará el nombre de los ficheros que coinciden con la palabra que estas buscando.

Comentarios