Grep avanzado con Regex
Aplique patrones complejos de regex con «grep» para realizar búsquedas de texto muy específicas y eficientes en archivos.
Grep avanzado con Regex es una lección gratuita de DevOps Bootcamp en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de DevOps Bootcamp, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de DevOps Bootcamp incluye 4 lecciones en total.
Los superpoderes de las expresiones regulares en grep
¡Le damos la bienvenida a grep avanzado con expresiones regulares! En la lección anterior, aprendimos sobre las expresiones regulares en sí. Ahora, descubriremos todo su potencial dentro del potente comando grep.
grep es la herramienta principal para buscar patrones de texto en archivos. Al combinarla con expresiones regulares avanzadas, puede localizar exactamente lo que busca, sin importar lo complejo que sea el patrón.
Activar las expresiones regulares extendidas (-E)
De forma predeterminada, grep usa expresiones regulares básicas (BRE). Para usar funciones más avanzadas como +, ?, | y (), debemos activar las expresiones regulares extendidas (ERE).
Puede hacerlo mediante la opción -E o usando el comando egrep, que es esencialmente grep -E. Creemos un archivo de ejemplo con el que trabajar:
echo "apple
banana
appanana
orange
app" > fruits.txtCuantificadores: uno o más (+)
El cuantificador + coincide con una o más apariciones del carácter o grupo precedente. Es muy útil cuando espera que un patrón se repita al menos una vez.
Por ejemplo, para encontrar líneas con una «p» seguida de una o más letras «a», usaríamos pa+.
grep -E 'pa+' fruits.txtCuantificadores: cero o más (*)
El cuantificador * coincide con cero o más apariciones del carácter o grupo precedente. Es útil cuando un carácter puede estar presente, pero no es obligatorio.
Busquemos líneas con una «b» seguida de cero o más letras «a»:
grep -E 'ba*' fruits.txtCuantificadores: cero o uno (?)
El cuantificador ? coincide con cero o una aparición del carácter o grupo precedente. Puede verlo como una forma de hacer que un carácter sea opcional.
¿Quiere encontrar tanto «color» como «colour»? Puede hacer que la «u» sea opcional:
echo "color
colour
coor" > words.txt
grep -E 'colou?r' words.txtCantidades específicas con {} (llaves)
Para tener aún más control, puede especificar cantidades exactas o intervalos mediante llaves {}:
a{3}: exactamente tres letras «a».a{2,}: dos o más letras «a».a{1,3}: entre una y tres letras «a».
Busquemos líneas en las que «a» se repita exactamente dos veces:
grep -E 'a{2}' fruits.txtAnclas: inicio y final (^, $)
Las anclas no coinciden con caracteres, sino con posiciones. El ancla ^ coincide con el inicio de una línea y $ con el final de una línea.
Esto es fundamental para garantizar que el patrón coincida con toda la línea o que comience o termine exactamente donde usted desea.
^apple: líneas que comienzan con «apple».banana$: líneas que terminan con «banana».^apple$: líneas que contienen únicamente «apple».
grep -E '^app' fruits.txtAlternancia con OR (|)
El símbolo | (barra vertical) actúa como operador OR. Permite hacer coincidir un patrón O bien otro. Es muy útil para buscar varias palabras o frases distintas a la vez.
Por ejemplo, para encontrar líneas que contengan «apple» o «orange»:
grep -E 'apple|orange' fruits.txtAgrupar patrones con ()
Los paréntesis () se usan para agrupar partes de una expresión regular. Esto permite aplicar cuantificadores o alternancia a todo un grupo, no solo a un carácter.
Por ejemplo, para encontrar «ana» una o más veces después de «b»:
grep -E 'b(ana)+' fruits.txtComprobación rápida: grep avanzado
Dado el archivo data.txt, que contiene:
cat
cats
catt
catterpillar
dog
¿Qué comando encontraría correctamente las líneas que contienen «cat» seguida de cero o más letras «t»?
Repaso: el poder de las expresiones regulares en grep
¡Ha dominado las técnicas avanzadas de grep mediante expresiones regulares extendidas! Hemos visto lo siguiente:
- Usar
-Epara las funciones de las expresiones regulares extendidas. - Cuantificadores:
+(uno o más),*(cero o más),?(cero o uno) y{}para cantidades específicas. - Anclas:
^(inicio de línea) y$(final de línea). - Alternancia
|para condiciones «OR». - Agrupar patrones con
().
Estas herramientas permiten realizar búsquedas de texto increíblemente precisas y flexibles, ¡lo que le convierte en un verdadero experto de la línea de comandos!
Preguntas frecuentes
¿La lección «Grep avanzado con Regex» es gratis?
Sí — el texto completo de «Grep avanzado con Regex» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de DevOps Bootcamp, actualiza a CoddyKit PRO. El curso de DevOps Bootcamp incluye 4 lecciones en total.
¿Qué aprenderé en «Grep avanzado con Regex»?
Aplique patrones complejos de regex con «grep» para realizar búsquedas de texto muy específicas y eficientes en archivos. Practicas DevOps Bootcamp con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar DevOps Bootcamp?
No se requiere experiencia previa. DevOps Bootcamp en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Grep avanzado con Regex»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de DevOps Bootcamp?
Sí. Cada lección de DevOps Bootcamp incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Introducción a las expresiones regulares (Regex)
- Grep avanzado con Regex
- Combinación de Regex con sed/awk
- Grupos de captura, referencias inversas y sustitución