Cómo usar expresiones regulares (RegEx) en Linux

Regexps son acrónimos de expresiones regulares. Las expresiones regulares son caracteres especiales o conjuntos de caracteres que nos ayudan a buscar datos y hacer coincidir el patrón complejo. Las expresiones regulares se usan más comúnmente con los comandos de Linux: – grep, sed, tr, vi.

Las siguientes son algunas expresiones regulares básicas:

No Señor. Símbolo  Descripción
1. . Se llama carácter comodín. Coincide con cualquier carácter que no sea la nueva línea.
2. ^ Coincide con el inicio de la string.
3. ps Coincide con el final de la string.
4. * Coincide con cero o más ocurrencias, es decir, cualquier número de veces del carácter de la string.
5. \ Se utiliza para escapar después del carácter.
6. () Se utiliza para hacer coincidir o buscar un conjunto de expresiones regulares.
7. ? Coincide exactamente con un carácter en la string o secuencia.

A continuación se muestra el enlace al archivo de texto que vamos a utilizar:

Archivo de texto utilizado: Fruits-name

1. Usar “.” (punto) para hacer coincidir strings.

Usando «.» podemos encontrar una string si no conocemos la string exacta, o simplemente recordamos solo el inicio y el final de la string, podemos usar «.» Como un personaje faltante, y llenará ese personaje faltante. Veamos un ejemplo para una mejor comprensión:’ Este archivo contiene el nombre de la fruta, y vamos a usar expresiones regulares en este archivo.

Guion:

#!/bin/sh

# Expresión regular básica

# 1. Usar “.” para hacer coincidir strings.

# cargando el archivo de texto

fruit_file=`gato fruit.txt | grep App.e`

# aquí la palabra original (respuesta) será Apple,

# pero como no conocemos la ortografía de Apple,

# pondremos un punto (.) en ese lugar.

eco “1. Usando ‘.’ para encontrar la palabra original, mientras que la palabra dada es ‘App.e’”

# mostrando la salida

echo «Salida:»

echo “$archivo_de_frutas”

Producción:

Salida 1.

2. Usar “^” (signo de intercalación) para hacer coincidir el comienzo de la string

Usando «^», podemos encontrar todas las strings que comienzan con el carácter dado. Veamos un ejemplo para una mejor comprensión. Aquí estamos tratando de encontrar todos los nombres de frutas que comienzan con la letra B:

Guion: 

#!/bin/sh

# Expresión regular básica

# 2. Usar «^» (signo de intercalación) para hacer coincidir el comienzo de la string

# cargando el archivo de texto

fruit_file=`gato fruit.txt | grep^B`

eco “2. Usar ‘^’ para encontrar todas las palabras que comienzan con la letra ‘B’”

# mostrando la salida

echo «Salida:»

echo “$archivo_de_frutas”

Producción:

Salida 2.

3. Usar “$” (signo de dólar) para hacer coincidir el final de la string

Usando «$» podemos encontrar todas las strings que terminan con el carácter dado. Veamos un ejemplo para una mejor comprensión. Aquí estamos tratando de encontrar todos los nombres de frutas que terminan con la letra e:

guion:

#!/bin/sh

# Expresión regular básica

# 3. Usar «$» (dólar) para que coincida con el final de la string

# cargando el archivo de texto

fruit_file=`gato fruit.txt | grep e$`

eco “3. Usando ‘$’ para encontrar todas las palabras que terminan con la letra ‘e’”

# mostrando la salida

echo «Salida:»

echo “$archivo_de_frutas”

Producción:

Salida 3.

4. Usar «*» (un asterisco) para encontrar cualquier número de repeticiones de una string

Usando «*», podemos hacer coincidir hasta cero o más ocurrencias del carácter de la string. Veamos un ejemplo para una mejor comprensión. Aquí estamos tratando de encontrar todos los nombres de frutas que

tiene una o más apariciones de ‘ap’ una tras otra.

Guion:

#!/bin/sh

# Expresión regular básica

# 4. Usar «*» para encontrar cualquier número de repeticiones de una string

# cargando el archivo de texto

fruit_file=`gato fruit.txt | grep ap*le`

eco “4. Usando ‘*’ para encontrar el nombre de todas las frutas que tienen una o más apariciones de ‘ap’ una tras otra en él”

# mostrando la salida

echo «Salida:»

echo “$archivo_de_frutas”

Producción:

Salida 4.

5. Usar «\» (una barra invertida) para hacer coincidir el símbolo especial

Usando «\» con símbolos especiales como espacios en blanco (» «), nueva línea («\n»), podemos encontrar strings del archivo. Veamos un ejemplo para una mejor comprensión. Aquí estamos tratando de encontrar todos los nombres de frutas que tienen espacio en sus nombres completos.

Guion:

#!/bin/sh

# Expresión regular básica

# 5. Usando «\» para hacer coincidir el símbolo especial

# cargando el archivo de texto

fruit_file=`gato fruit.txt | grep «\ «`

eco “5. Usando ‘\’ para encontrar el nombre de todas las frutas que tienen un solo espacio en su nombre completo”

# mostrando la salida

echo «Salida:»

echo “$archivo_de_frutas”

Producción:

6. Usando «()» (llaves) para hacer coincidir el grupo de expresiones regulares.

Usando «()», podemos encontrar strings coincidentes con el patrón en «()». Veamos un ejemplo para una mejor comprensión. Aquí estamos tratando de encontrar todos los nombres de frutas que tienen espacio en su nombre completo.

Guion:

#!/bin/sh

# Expresión regular básica

# 6. Usando «()» (llaves) para hacer coincidir el grupo de expresiones regulares.

# cargando el archivo de texto

fruit_file=`gato fruit.txt | grep -E “(fruta)”`

eco “6. Usando ‘()’ para encontrar el nombre de todas las frutas que tienen la palabra ‘fruta’ en él”

# mostrando la salida

echo «Salida:»

echo “$archivo_de_frutas”

Producción:

Salida 6.

 7. Usando «?» (signo de interrogación) para encontrar todos los caracteres coincidentes

Usando “?”, podemos hacer coincidir 0 o 1 repeticiones de lo anterior. Por ejemplo, si hacemos algo como esto: ab? Coincidirá con ‘a’ o ‘ab’. Veamos otro ejemplo para una mejor comprensión. Aquí estamos tratando de encontrar todos los nombres de frutas que tienen el carácter ‘Ch’ en ellos. 

Guion:

#!/bin/sh

# Expresión regular básica

# 7. Usando «?» (signo de interrogación) para hacer coincidir el  

# cargando el archivo de texto

fruit_file=`gato fruit.txt | grep-E Ch?`

eco “7. Usando ‘?’ para encontrar el nombre de todas las frutas que tienen ‘Ch’ en él”

# mostrando la salida

echo «Salida:»

echo “$archivo_de_frutas”

Producción:

Nota: El «<< //// ////» se puede utilizar con el propósito de comentario de varias líneas.

Publicación traducida automáticamente

Artículo escrito por amnindersingh1414 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *