Ya sabes buscar archivos con find. Pero ¿qué pasa cuando necesitas buscar dentro de un archivo? ¿Encontrar una línea concreta entre miles? Para eso está grep.
El nombre viene de g/re/p — un comando del antiguo editor ed que significaba "global regular expression print". Suena intimidante, pero su uso básico es muy simple.
Esto muestra todas las líneas de archivo.txt que contienen la palabra "error". Solo las líneas que coinciden — el resto se oculta.
Ignorar mayúsculas/minúsculas con -i:
Encuentra "error", "Error", "ERROR", "eRrOr"... todas las variantes.
Buscar recursivamente en todos los archivos de un directorio con -r:
Busca "TODO" en todos los archivos desde el directorio actual. Muy útil para encontrar cosas en un proyecto entero.
Mostrar números de línea con -n:
Muestra en qué línea está cada coincidencia. Imprescindible cuando necesitas ir a editar ese archivo después.
Invertir la búsqueda con -v:
Muestra las líneas que NO contienen "comentario". Útil para filtrar ruido.
Contar coincidencias con -c:
En lugar de mostrar las líneas, solo te dice cuántas coincidencias hay.
grep es el compañero perfecto de los pipes:
Esto filtra las líneas con "error" pero excluye las que también contienen "ignorar". Filtro sobre filtro.
Muestra solo los archivos .txt del listado.
grep para filtrar y mostrar solo las líneas que contienen una palabra específicaUsa echo "..." >> log.txt varias veces para crear el archivo y luego grep "palabra" log.txt para filtrar.