Tutorial de expresiones regulares de Linux: ejemplo de Grep Regex

¿Qué son las expresiones regulares de Linux?

Expresiones regulares de Linux Son caracteres especiales que ayudan a buscar datos y a encontrar patrones complejos. Las expresiones regulares se abrevian como "regexp" o "regex". Se utilizan en muchos programas de Linux como grep, bash, rename, sed, etc.

Tipos de expresiones regulares

Para facilitar la comprensión, aprendamos los diferentes tipos de Regex uno por uno.

Haga clic aquí si el video no es accesible

Expresiones regulares básicas

Algunos de los comandos comúnmente utilizados con expresiones regulares son tr, sed, vi y grep. A continuación se enumeran algunas de las expresiones regulares básicas.

Símbolo Descripción
. reemplaza cualquier personaje
^ coincide con el comienzo de la cadena
$ coincide con el final de la cadena
* coincide con cero o más veces el carácter anterior
\ Representar caracteres especiales
() Agrupa expresiones regulares
? Coincide exactamente con un personaje

Veamos un ejemplo.

Ejecute cat sample para ver el contenido de un archivo existente

Expresiones regulares básicas

Busque contenido que contenga la letra "a".

Expresiones regulares básicas

"^' coincide con el inicio de una cadena. Busquemos contenido que COMIENCE con un

Expresiones regulares básicas

Sólo se filtran las líneas que comienzan con carácter. Las líneas que no contienen el carácter "a" al principio se ignoran.

Veamos otro ejemplo:

Expresiones regulares básicas

Seleccione solo aquellas líneas que terminan en t usando $

Expresiones regulares básicas

Intervalo Expresiones regulares

Estas expresiones nos informan sobre el número de apariciones de un carácter en una cadena. Ellos son

expresión Descripciones
{norte} Coincide exactamente con el carácter anterior que aparece 'n' veces
{Nuevo Méjico} Coincide con el carácter anterior que aparece "n" veces pero no más de m
{n,} Coincide con el carácter anterior solo cuando aparece "n" veces o más

Ejemplo:

Filtra todas las líneas que contienen el carácter "p"

Intervalo Expresiones regulares

Queremos comprobar que el carácter 'p' aparece exactamente 2 veces en una cadena, una tras otra. Para esto la sintaxis sería:

cat sample | grep -E p\{2}

Intervalo Expresiones regulares

Nota: Debe agregar -E con estas expresiones regulares.

Expresiones regulares extendidas

Estas expresiones regulares contienen combinaciones de más de una expresión. Algunos de ellos son:

expresión Descripciones
\+ Coincide con una o más apariciones del carácter anterior
\? Coincide con cero o una aparición del carácter anterior

Ejemplo:

Buscando todos los caracteres 't'

Expresiones regulares extendidas

Supongamos que queremos filtrar las líneas donde el carácter "a" precede al carácter "t".

Podemos usar comandos como

cat sample|grep "a\+t"

Expresiones regulares extendidas

Expansión de corsé

La sintaxis para la expansión de llaves es una secuencia o una lista separada por comas de elementos dentro de llaves “{}”. Los elementos iniciales y finales de una secuencia están separados por dos puntos “...”.

Algunos ejemplos:

Expansión de corsé

En los ejemplos anteriores, el comando echo crea cadenas usando la expansión de llaves.

Resumen:

  • Las expresiones regulares son un conjunto de caracteres que se utilizan para comprobar patrones en cadenas.
  • También se les llama 'regexp' y 'regex'
  • Es importante aprender expresiones regulares para escribir guiones.
  • Algunas expresiones regulares básicas son:
Símbolo Descripción
. reemplaza cualquier personaje
^ coincide con el comienzo de la cadena
$ coincide con el final de la cadena
  • Algunas expresiones regulares extendidas son:
expresión Descripciones

\+

Coincide con una o más apariciones del carácter anterior
\? Coincide con cero o una aparición del carácter anterior
  • Algunas expresiones regulares de intervalo son:
expresión Descripciones
{norte} Coincide exactamente con el carácter anterior que aparece 'n' veces
{Nuevo Méjico} Coincide con el carácter anterior que aparece "n" veces pero no más de m
{n,} Coincide con el carácter anterior solo cuando aparece "n" veces o más
  • La expansión de llaves se utiliza para generar cadenas. Ayuda a crear varias cadenas a partir de una.