Linux & TerminalProcesamiento de Texto y DatosLección 7 de 12
Expresiones Regulares en la Terminal
Las expresiones regulares (regex) son patrones para buscar texto. Son como un lenguaje de busqueda avanzado que funciona en grep, sed, awk y muchas otras herramientas. Aprenderlas multiplica tu productividad en la terminal.
# CARACTERES ESPECIALES en regex
# . = cualquier caracter
# ^ = inicio de linea
# $ = final de linea
# * = 0 o mas repeticiones
# + = 1 o mas repeticiones (grep -E)
# ? = 0 o 1 repeticion (grep -E)
# [] = clase de caracteres
# () = grupo (grep -E)
# | = OR / alternativa (grep -E)
# Usar grep -E (extended regex) para +, ?, |, ()
grep -E "^(error|warning):" log.txt
# error: conexion fallida
# warning: disco casi lleno
# Buscar lineas que empiezan con numeros
grep "^[0-9]" datos.txt
# 123 Juan Perez
# 456 Maria Lopez
# Buscar lineas vacias
grep "^$" archivo.txt
# CLASES DE CARACTERES
# [abc] = a, b o c
# [a-z] = cualquier minuscula
# [A-Z] = cualquier mayuscula
# [0-9] = cualquier digito
# [^abc] = cualquier caracter EXCEPTO a, b, c
# Buscar emails en un archivo
grep -E "[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}" contactos.txt
# juan@gmail.com
# maria.lopez@empresa.com
# Buscar IPs
grep -E "([0-9]{1,3}\.){3}[0-9]{1,3}" access.log
# 192.168.1.50 - - [23/Jun/2026:10:15:23]
# 10.0.0.1 - - [23/Jun/2026:10:15:25]
# Buscar numeros de telefono
grep -E "\+?[0-9]{1,3}[- ]?[0-9]{8,10}" datos.txt
# +52 5512345678
# 5587654321
# EJEMPLOS PRACTICOS con sed y regex
# Eliminar espacios al inicio y final de lineas
sed 's/^[[:space:]]*//;s/[[:space:]]*$//' archivo.txt
# Reemplazar multiples espacios por uno solo
sed 's/ */ /g' archivo.txt
# Extraer solo numeros de un texto
grep -oE "[0-9]+" factura.txt
# 1234
# 500
# 89
# Validar formato de fecha YYYY-MM-DD
grep -E "^[0-9]{4}-[0-9]{2}-[0-9]{2}$" fechas.txt
# 2026-06-23
# 2026-12-25
# Buscar funciones en JavaScript
grep -En "(function |const |let |var )\w+.*[({]" app.js
# 5: function conectarDB() {
# 12: const validar = (email) => {
ConsejoUsa grep -E en lugar de grep para tener acceso a regex extendidas (+, ?, |, ()). Sin -E necesitas escaparlos con \. Practica en regex101.com para probar tus patrones antes de usarlos en la terminal.
Practica esta lección
Resuelve los ejercicios del curso de Linux & Terminal en la app, gratis y con corrección automática.
Empezar a practicar