Fundamentos de la línea de comandos
Teoría: Grep
Hoy vamos a conocer una herramienta muy útil para quienes estamos comenzando en el mundo de la programación: grep. Es como un buscador inteligente que usamos desde la terminal. Aprenderemos paso a paso cómo funciona, cómo buscar texto dentro de archivos y cómo sacarle el mayor provecho. Vamos a hacerlo juntos.
¿Qué es grep?
grep es una herramienta de línea de comandos que se usa para buscar texto dentro de archivos. El nombre viene de "global regular expression print".
Cuando trabajamos como programadores, revisar archivos grandes como código fuente o logs (registros del sistema) se vuelve algo muy común. En esos casos, usar grep puede ahorrarnos mucho tiempo.
La estructura básica del comando es esta:
PATRÓN: Es lo que estamos buscando (puede ser una palabra o frase).ARCHIVO: El archivo donde queremos buscar.
Supongamos que queremos buscar la palabra aliases dentro del archivo .bashrc. Ejecutamos este comando:
Esto nos mostrará todas las líneas del archivo que contienen esa palabra. Por ejemplo:
grep nos devuelve las líneas exactamente como están en el archivo. Esto es útil, por ejemplo, si estamos buscando configuraciones dentro del archivo.
Ver el contexto: mostrar líneas antes y después
A veces no solo queremos ver la línea que coincide, sino también el contexto (lo que viene antes o después). Para eso usamos estas opciones:
Este comando muestra 1 línea antes y 1 después de cada coincidencia:
La salida se verá más o menos así:
El separador -- indica dónde empieza una nueva coincidencia.
Buscar en una carpeta y todos sus subdirectorios
Si no sabemos en qué archivo está el texto, podemos buscar en toda una carpeta (e incluso subcarpetas) usando la opción -r, que significa búsqueda recursiva.
Supongamos que queremos buscar la palabra bashrc en todos los archivos del directorio actual y sus subdirectorios:
La salida nos mostrará en qué archivo aparece la palabra, así:
Esto es muy útil para encontrar código o configuraciones sin necesidad de abrir cada archivo uno por uno.
Mostrar número de líneas
Si además queremos saber en qué línea del archivo se encuentra la coincidencia, usamos la opción -n:
La salida incluirá los números de línea:
Esto nos ayuda a ir directamente al lugar correcto si estamos editando el archivo con un editor de texto.
Resumen
grepes una herramienta para buscar texto en archivos desde la terminal.- La forma básica del comando es
grep PATRÓN ARCHIVO. - Puedes usar:
-C N: mostrar N líneas antes y después de cada coincidencia.-B N: mostrar N líneas antes.-A N: mostrar N líneas después.
- Usa
-rpara hacer una búsqueda en carpetas y subcarpetas. - Usa
-npara incluir el número de línea en los resultados.
Así, poco a poco, vamos aprendiendo cómo dominar herramientas poderosas desde la terminal. grep será de tus mejores aliados cuando empieces a trabajar con proyectos reales.