Inicio > Cursos > Linux & Terminal > Expresiones Regulares en la Terminal
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.
← grep, awk y sedProcesos y Monitoreo del Sistema →

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