Cómo buscar texto dentro de archivos en Linux (grep)

El comando grep busca texto dentro de archivos, algo que usarás constantemente en Linux para encontrar una palabra en logs, configuraciones o código.

Buscar una palabra en un archivo

grep "error" registro.log

Muestra todas las líneas que contienen «error».

Opciones más útiles

grep -i "error" archivo     # ignora mayúsculas/minúsculas
grep -n "error" archivo     # muestra el número de línea
grep -r "TODO" ./proyecto   # busca en todos los archivos de una carpeta
grep -c "error" archivo     # cuenta cuántas líneas coinciden

Combinarlo con otros comandos

grep brilla con tuberías (|):

ps aux | grep nginx
dmesg | grep -i usb

Excluir e invertir

grep -v "debug" archivo     # muestra las líneas que NO contienen "debug"

Preguntas frecuentes

¿Puedo buscar en varios archivos a la vez?

Sí: grep "palabra" *.txt, o de forma recursiva con -r en una carpeta.

¿grep entiende expresiones regulares?

Sí. Con grep -E (o egrep) usas expresiones regulares extendidas para patrones más complejos.