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 en aqui 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 Descripciรณn
{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 Descripciรณn
\+ 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 Descripciรณn

\+

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 Descripciรณn
{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.

Resumir este post con: