Buscar texto en ficheros recursivamente

El comando grep busca/muestra las ocurrencias encontradas en uno o varios ficheros de texto.

Usando el comando grep puedes realizar una búsqueda de forma recursiva en un directorio y mostrar que ficheros tiene la ocurrencia que buscas.

Esto es bastante útil si eres programador, tienes varios proyectos y tienes que buscar algo que no recuerdas donde está.

Por ejemplo, imagina que tienes un directorio con varios ficheros y subdirectorios con mas ficheros, y quieres buscar el texto “vertical-align” de forma recursiva e ignorando mayúsculas:

grep -Ri "vertical-align"

Buscar texto en ficheros recursivamente

 

Si lo único que quieres ver es el nombre del fichero puedes usar una tubería (pipe) y cortar usando como delimitador “:” y obtener tan solo la primera columna.

grep -Ri 'class' | cut -d ":" -f1

Buscar texto en ficheros recursivamente obteniendo solo el nombre del fichero

 

Si además quieres que no salgan repetidos aquellos ficheros que tienen mas de una ocurrencia puedes usar “uniq” para eliminar duplicados o “sort -u” para ordenar y además eliminar duplicados.

grep -Ri 'include' | cut -d ":" -f1 | sort -u
grep -Ri 'include' | cut -d ":" -f1 |uniq

Buscar texto recursivamente sin repetidos

Anuncios