Búsqueda dentro de ficheros
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.
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
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
Opción -l:
grep -l texto
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.