====== 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 [[https://man7.org/linux/man-pages/man7/glob.7.html|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.