Algunas veces necesitamos una manera rápida de buscar una frase, una expresión o una palabra en el interior de varios o muchos archivos.
Una de las maneras más sencillas de probar el comando grep es por ejemplo:
echo "¿ La verdad ? ¡¡ Tu no puedes asumir la verdad !!" | grep 'r'
El resultado del comando anterior es el texto con las r destacadas en rojo.
Para utilizar el comando grep para buscar dentro de un archivo solo tenemos que especificarle dicho archivo y la palabra/expresión a buscar:
grep 'busqueda' mi_archivo.txt
Si en el archivo mi_archivo.txt aparece la palabra busqueda, grep nos lo mostrará por la salida.
Un par de flags interesantes con el comando grep son:
- '-i': Ignora mayúsculas y minúsculas
- '-n': Muestra el número de línea del archivo donde se encontró
- '-R': Comando recursivo, buscará en los ficheros de las subcarpetas
Si ejecutasemos:
grep -iRn 'palabra' /dir/
El comando grep irá abriendo todos los archivos de la carpeta y subcarpetas del directorio /dir/ y buscará 'palabra' en el interior de todos ellos, nos mostrará por la salida los resultados, números de línea y nombre de archivo donde lo encontró.