Herramientas de usuario

Herramientas del sitio


informatica:sistemas_operativos:linux:grep

grep

Búsqueda dentro de ficheros

Coincidencia exacta

Si hacemos:

grep 25 fichero

Buscará todo lo que contenga 25. Pero si queremos buscar exactamente 25, sin nada a su alrededor, empleamos la opción -w:

grep -w 25 fichero

La opción -w hace que se busquen palabras. Para grep una palabra son letras, dígitos y el guión bajo (_). Si tenemos lo siguiente:

La ip y puerto es 127.0.0.1:4225
El puerto que utiliza el servidor de correo es el 25

grep -w 25 coincidiría con la segunda línea, pero no con la primera.

Excluir ficheros

Buscar recursivamente el texto texto desde el directorio actual sin mirar en los ficheros con extensión .csv ni .json

grep texto --exclude=\*.csv --exclude=\*.json

Ese uso de patrones en los argumentos de grep se conoce como sintaxis glob

Incluir ficheros

Buscar solamente en un determinado tipo de archivos:

grep -r texto --include=\*.txt

Se puede indicar más de un tipo de archivo añadiendo más opciones include:

grep -r texto --include=\*.txt --include=\*.csv --include=\*.json

Mostrar solo el nombre de los ficheros que contienen coincidencias

Opción -l:

grep -l texto

Mostrar líneas antes y después de una coincidencia

Si queremos mostrar las líneas antes y después de la coincidencia:

grep -B 5 -A 2 --color 'palabra' /ruta/fichero/busqueda.ext

El comando anterior mostrará las 5 líneas anteriores (B, before) a la coincidencia de palabra y las 2 líneas siguientes (A, after)

La opción --color es para que resalte la coincidencia.

informatica/sistemas_operativos/linux/grep.txt · Última modificación: por tempwin