¡A que no sabes usar grep!
24 de febrero de 2025

¡A que no sabes usar grep!

Descubre el verdadero poder de grep y lleva tu flujo de trabajo en la terminal al siguiente nivel.

Por Asdrúbal Chirinos

Si usas la terminal todos los días, seguro has escrito grep más veces de las que puedes contar. Pero… ¿realmente lo usas bien?

The grep Command - What You Must Know

grep es una de esas herramientas que todo desarrollador conoce, pero pocos aprovechan al máximo. Hoy te mostraré cómo exprimir su verdadero poder para que nunca más pierdas tiempo buscando en archivos o filtrando logs.

Lo básico

Antes de ponernos serios, recordemos lo básico:

grep "error" log.txt

Esto busca la palabra “error” dentro del archivo log.txt. Muy útil, pero solo estamos rascando la superficie.

Más allá de lo obvio

1. Búsquedas recursivas

¿Necesitas buscar en todos los archivos de un proyecto?

grep -r "TODO" ./

Esto buscará “TODO” en todos los archivos dentro del directorio actual y sus subdirectorios. Perfecto para encontrar esos pendientes olvidados.

2. Ignorar mayúsculas y minúsculas

grep -i "warning" log.txt

Encuentra “Warning”, “WARNING” o “wArNiNg” sin importar el caso.

3. Mostrar solo el nombre de los archivos

grep -l "FIXME" *.py

Si solo quieres saber qué archivos contienen “FIXME” sin ver las líneas específicas.

4. Mostrar contexto

A veces necesitas más que solo la línea que coincide:

grep -C 3 "error" log.txt

Muestra tres líneas antes y después de cada coincidencia.

5. Expresiones regulares

Aquí es donde grep se vuelve serio. ¿Quieres encontrar números de teléfono en un archivo?

grep -E "\(\d{3}\) \d{3}-\d{4}" contacts.txt

La opción -E habilita expresiones regulares extendidas, lo que hace a grep aún más poderoso.

6. Invertir la búsqueda

¿Quieres ver todo excepto lo que coincida?

grep -v "DEBUG" log.txt

Filtra las líneas que contienen “DEBUG”.

Usando grep en combinación con otros comandos

1. Filtrar la salida de otros comandos

Puedes combinar grep con otros comandos usando pipes (|). Por ejemplo, si quieres ver solo los procesos que están ejecutando node:

ps aux | grep node

2. Buscar en el historial de comandos

Si necesitas encontrar un comando que usaste antes:

history | grep ssh

3. Contar ocurrencias

Para contar cuántas veces aparece una palabra en un archivo o salida de un comando:

cat log.txt | grep -c "error"

4. Buscar en archivos listados por find

Para buscar una palabra en todos los archivos .txt dentro de un directorio:

find . -name "*.txt" | xargs grep "keyword"

5. Buscar procesos en ejecución

Si necesitas encontrar y terminar un proceso específico:

ps aux | grep nginx | awk '{print $2}' | xargs kill

ripgrep: La evolución de grep

Si grep te gusta pero quieres más velocidad y facilidad de uso, prueba ripgrep (rg). Es como grep pero con esteroides:

rg "function" src/

Más rápido, con resaltado de sintaxis y búsqueda por omisión en .gitignore.

Cómo instalar ripgrep

Para instalar ripgrep, sigue estos pasos según tu sistema operativo:

En macOS (con Homebrew):

brew install ripgrep

En Ubuntu/Debian:

sudo apt install ripgrep

En Arch Linux:

sudo pacman -S ripgrep

En Windows (con Scoop o Chocolatey):

scoop install ripgrep
choco install ripgrep

grep es mucho más que un simple buscador de texto. Si lo dominas, puedes ahorrar tiempo y mejorar tu flujo de trabajo en la terminal. Así que la próxima vez que uses grep, hazlo con estilo. 😉

¡Dona, ahora!

Compartir:

¿Te gustó este artículo? Apoya mi trabajo y ayúdame a seguir creando contenido.

Cómprame un café