CodeAventura
Linux
▸Texto y Redirección▸Buscar dentro de archivos: grep

Misión

TerminalTema: Vintage
Buscar dentro de archivos: grep
11
/
17

Buscar dentro de archivos: grep

El detective de la terminal

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.

grep — Buscar un patrón

Esto muestra todas las líneas de archivo.txt que contienen la palabra "error". Solo las líneas que coinciden — el resto se oculta.

Opciones esenciales

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 con pipes

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.

Tu desafío

  1. Crea un archivo de log con varias líneas — unas con la palabra "error", otras con "info", otras con "debug"
  2. Usa grep para filtrar y mostrar solo las líneas que contienen una palabra específica

Usa echo "..." >> log.txt varias veces para crear el archivo y luego grep "palabra" log.txt para filtrar.