20 Ejemplos de comando EGREP de Linux

20 Ejemplos de comando EGREP de Linux

Breve: En esta guía, discutiremos algunos de los ejemplos prácticos del comando EGREP. Después de seguir esta guía, los usuarios podrán realizar una búsqueda de texto de manera más eficiente en Linux.

¿Alguna vez ha estado frustrado porque no puede encontrar la información requerida en los registros?? Extraer la información requerida de un conjunto de datos grande es una tarea compleja y que requiere mucho tiempo.

Las cosas se vuelven realmente desafiantes si el sistema operativo no proporciona las herramientas adecuadas y aquí viene Linux para rescatarlo. Linux proporciona varias utilidades de filtro de texto como AWK, SED, cortar, etc.

Sin embargo, EGREP es una de las utilidades más potentes y comúnmente utilizadas para el procesamiento de texto en Linux, y vamos a discutir algunos ejemplos del municipal dominio.

El municipal El comando en Linux es reconocido por la familia del comando GREP, que se utiliza para buscar y hacer coincidir un patrón particular en los archivos. Funciona de manera similar a Grep -E (GREP extendido regex), pero en su mayoría busca un archivo en particular o incluso líneas para línea o imprime la línea en el archivo dado.

La sintaxis del municipal El comando es el siguiente:

$ egrep [opciones] patrones [archivos] 

Creemos un archivo de texto de muestra con el siguiente contenido para usar un ejemplo:

Muestra de $ Cat.TXT 
Muestra un archivo de texto

Aquí, podemos ver que el archivo de texto está listo. Ahora discutamos algunos ejemplos comunes que se pueden usar a diario.

1. Cómo encontrar un patrón en un solo archivo

Comencemos con un ejemplo simple de coincidencia de patrones, donde podemos usar el siguiente comando para buscar una cadena profesional en un muestra.TXT archivo:

Muestra de profesionales de $ EGREP.TXT 
Buscar cadena en el archivo

Aquí, podemos ver que el comando imprime la línea que contiene el patrón especificado.

2. Cómo resaltar los patrones coincidentes en el archivo

Podemos hacer que la salida sea más informativa resaltando el patrón coincidente. Para lograr esto, podemos usar el --color opción del municipal dominio. Por ejemplo, el siguiente comando resaltará el texto profesionales en color rojo:

$ egrep -color = muestra de profesionales automáticos.TXT 
Resaltar texto en el archivo

Aquí, podemos ver que el mismo resultado es más informativo en comparación con el anterior. Además, podemos identificar fácilmente que la palabra profesionales se repite dos veces.

En la mayoría de los sistemas Linux, la configuración anterior está habilitada de forma predeterminada utilizando el siguiente alias:

$ alias egrep = "egrep -color = auto" 

3. Cómo encontrar un patrón en varios archivos

El municipal El comando acepta múltiples archivos como un argumento, que nos permite buscar un patrón particular en varios archivos. Entendamos esto con un ejemplo.

Primero, cree una copia del muestra.TXT archivo:

Muestra de $ CP.copia de muestra txt.TXT 

Ahora busca el patrón profesionales En ambos archivos:

Muestra de profesionales de $ EGREP.copia de muestra txt.TXT 
Buscar cadena en varios archivos

En el ejemplo anterior, podemos ver el nombre del archivo en la salida, que representa la línea coincidente de ese archivo.

4. Cómo contar las líneas de coincidencia en el archivo

A veces solo necesitamos averiguar si el patrón está presente o no en el archivo. Si es así, entonces en cuántas líneas está presente? En tales casos, podemos usar el -C Opción del comando.

Por ejemplo, el siguiente comando se mostrará 1 Como salida porque la palabra profesionales está presente en una sola línea.

Muestra de profesionales de $ egrep -c.TXT 1 

5. Cómo imprimir solo líneas coincidentes en el archivo

En el ejemplo anterior, vimos que el -C La opción no cuenta el número de ocurrencias del patrón. Por ejemplo, la palabra profesionales aparece dos veces en la misma línea pero el -C La opción lo trata solo como una sola coincidencia.

En tales casos, podemos usar el -O opción del comando para imprimir el patrón coincidente únicamente. Por ejemplo, el siguiente comando mostrará la palabra profesionales En dos líneas separadas:

Muestra de profesionales de $ egrep -o.TXT 

Ahora, cuentemos las líneas usando el comando wc:

Muestra de profesionales de $ egrep -o.txt | WC -L 
Imprimir líneas coincidentes en el archivo

En el ejemplo anterior, hemos utilizado la combinación de municipal y WC comandos para contar el número de ocurrencias del patrón particular.

6. Cómo encontrar un patrón ignorando el caso

Por defecto, municipal Realiza la coincidencia de patrones de forma sensible a la caja. Significa palabras: nosotros, nosotros, nosotros, y somos tratados como diferentes palabras. Sin embargo, podemos hacer cumplir la búsqueda insensible a los casos utilizando el -i opción.

Por ejemplo, en la siguiente coincidencia del patrón de comando tendrá éxito para el texto nosotros y Nosotros:

$ egrep -i muestras.TXT 
Cadena insensible al caso de búsqueda

7. Cómo excluir patrones parcialmente coincidentes

En el ejemplo anterior, vimos que el municipal El comando realiza una coincidencia parcial. Por ejemplo, cuando buscamos el texto nosotros Luego, la coincidencia de patrones también tuvo éxito para otros textos. Como web, sitio web y.

Para superar esta limitación, podemos -w Opción, que hace cumplir toda la palabra coincidencia.

$ egrep -w muestras.TXT 
Imprima solo patrones coincidentes en el archivo

8. Cómo invertir la coincidencia de patrones en el archivo

Hasta ahora, usamos el municipal Comando para imprimir las líneas en las que está presente el patrón dado. Sin embargo, a veces queremos realizar la operación de manera opuesta.

Por ejemplo, es posible que deseemos imprimir las líneas en las que el patrón dado no está presente. Podemos lograr esto con la ayuda del -V opción:

$ egrep -v muestras.TXT 
Invertir la coincidencia de patrones en el archivo

Aquí, podemos ver que el comando imprime toda la línea que no contiene el texto nosotros.

9. Cómo encontrar el número de línea del patrón

Podemos usar el -norte Opción del comando para habilitar la numeración de línea, que muestra el número de línea en la salida cuando la coincidencia de patrones tiene éxito. Este simple truco hace que la salida sea más significativa.

Muestra de profesionales de $ egrep -n.TXT 
Impresión Número de patrón coincidente

En la salida anterior, podemos ver que la palabra profesionales está presente en el Quinto línea.

10. Cómo realizar la coincidencia de patrones en modo tranquilo

En modo tranquilo, el municipal El comando no imprime el patrón coincidente. Por lo tanto, tenemos que usar el valor de retorno del comando para identificar si la coincidencia de patrones tuvo éxito o no.

Podemos usar el -Q Opción del comando para habilitar el modo tranquilo, que es útil mientras escribe scripts de shell.

Muestra de profesionales de $ egrep -q.Txt $ egrep -q muestra de patrón inexistente.TXT 
Matriota de patrones de búsqueda en modo tranquilo

En este ejemplo, el cero El valor de retorno indica la presencia del patrón, mientras que el valor no cero indica la ausencia del patrón.

11. Cómo mostrar líneas antes de la coincidencia del patrón

A veces, tiene sentido mostrar algunas líneas alrededor del patrón coincidente. Para tales escenarios, podemos usar el -B opción del comando, que muestra norte líneas antes del patrón coincidente.

Por ejemplo, el siguiente comando imprimirá la línea para la cual la coincidencia del patrón tiene éxito, así como 2 líneas antes.

$ egrep -b 2 -n muestra de profesionales.TXT 
Imprimir líneas antes de la coincidencia de patrones

En este ejemplo, hemos usado el -norte opción para mostrar números de línea.

12. Cómo mostrar líneas después de la coincidencia del patrón

De manera similar, podemos usar el -A opción del comando para mostrar líneas después de la coincidencia de patrón. Por ejemplo, el siguiente comando imprimirá la línea para la cual la coincidencia del patrón tiene éxito, así como las siguientes 2 líneas.

$ EGREP -A Muestra de profesionales de 2 -n.TXT 
Imprimir líneas después de la coincidencia de patrones

13. Cómo mostrar líneas alrededor de la coincidencia del patrón

Además de esto, el municipal El comando admite el -C opción que combina la funcionalidad de las opciones -A y -B, que muestra las líneas antes y después del patrón coincidente.

Muestra de profesionales de $ egrep -c 2 -n.TXT 
Imprimir líneas alrededor de la coincidencia de patrones

14. Cómo encontrar un patrón en múltiples archivos de manera recursiva

Como se discutió anteriormente, podemos realizar una coincidencia de patrones en varios archivos. Sin embargo, la situación se vuelve complicada cuando los archivos están presentes en múltiples subdirectorios y los pasamos como argumentos de comando.

En tales casos, podemos realizar una coincidencia de patrones de manera recursiva utilizando el -riñonal Opción como se muestra en el siguiente ejemplo.

Primero, cree 2 subdirectorios y copie el muestra.TXT Archivo en ellos:

Muestra de $ mkdir -p dir1/dir2 $ cp muestra.muestra de txt dir1/ $ cp.txt dir1/dir2/ 

Ahora, realicemos la operación de búsqueda de manera recursiva:

$ EGREP -R Profesionales Dir1 
Buscar cadena recursivamente en archivos

En el ejemplo anterior, podemos ver que la coincidencia del patrón tuvo éxito para el Dir1/Dir2/Muestra.TXT y dir1/muestra.TXT archivos.

15. Cómo hacer coincidir un solo personaje usando expresiones regulares

Podemos usar un punto (.) personaje para que coincida con cualquier personaje, excepto el final de la línea. Por ejemplo, la siguiente expresión regular coincide con el texto Har, Hat y tiene:

$ EGREP "HA." muestra.TXT 
Coincidir con un solo carácter en el archivo

dieciséis. Cómo hacer coincidir cero o más ocurrencias de carácter

Podemos usar el asterisco (*) para que coincidan con cero o más ocurrencias del personaje anterior. Por ejemplo, la siguiente expresión regular coincide con el texto que contiene una cadena nosotros seguido de cero o más ocurrencias del personaje b.

Muestra de $ egrep "web*".TXT 
Cadena de coincidencia en el archivo de texto

17. Cómo hacer coincidir uno o más ocurrencias del personaje anterior

Podemos usar la ventaja (+) para que coincidan con uno o más ocurrencias del personaje anterior. Por ejemplo, la siguiente expresión regular coincide con el texto que contiene la cadena nosotros seguido de al menos una aparición del personaje b.

Muestra de $ egrep "web+".TXT 
Cadena de coincidencia por personaje en el archivo

Aquí, podemos ver que la coincidencia de patrones no tiene éxito para las palabras - nosotros y eran, La debida ausencia del personaje b.

18. Cómo hacer coincidir el inicio de la línea

Podemos usar el careto (^) para representar el inicio de la línea. Por ejemplo, la siguiente expresión regular imprime las líneas que comienzan con el texto Nosotros:

$ EGREP "^Ejemplo".TXT 
Imprimir texto coincidente con la línea de inicio

19. Cómo hacer coincidir el final de la línea

Podemos usar el dólar ps para representar el final de la línea. Por ejemplo, la siguiente expresión regular imprime las líneas que terminan con el texto mi.:

$ EGREP "E.$ "muestra.TXT 
Imprimir texto coincidente con línea final

20. Cómo eliminar las líneas vacías en el archivo

Podemos usar el careto (^) seguido inmediatamente por el dólar ps Para representar la línea vacía. Usemos esto en una expresión regular para eliminar líneas vacías:

$ EGREP -N -V "^$" Muestra.TXT 
Eliminar líneas vacías en el archivo

En la salida anterior, podemos ver que los números de línea 2, 4, 6, 8 y 10 no se muestran ya que están vacíos.

Conclusión

En este artículo, discutimos algunos ejemplos útiles de la municipal comandos. Uno puede usar estos ejemplos en la vida cotidiana para mejorar la productividad.

¿Conoce algún otro mejor ejemplo del comando EGREP en Linux?? Háganos saber sus puntos de vista en los comentarios a continuación.