Comando EGREP de Linux con ejemplos

Comando EGREP de Linux con ejemplos
El comando EGREP pertenece a la familia del comando GREP que se utiliza para la búsqueda de patrones en Linux. Si ha usado el comando GREP, EGREP funciona igual que Grep -E (Grep Extended Regex ') lo hace. EGREP escanea un archivo específico, línea a línea e imprime la (s) línea (s) que contiene la cadena de búsqueda/expresión regular. En este artículo, explicaremos 15 ejemplos útiles de los comandos EGREP que ayudarán a los novatos e incluso a los expertos a realizar búsquedas significativas en Linux.

Ejemplo 1: Buscando una cadena específica en un archivo

Este es el uso más común del comando EGREP. Lo que hace es que especifique una cadena que desea buscar y el nombre del archivo que desea buscar esa cadena en. El resultado muestra toda la línea que contiene la cadena buscada.

Sintaxis:

$ EGREP "Search_String" FileName

Ejemplo:

$ EGREP DEBIAN SAMAPERFILE.TXT

En este ejemplo, busqué la palabra "Debian" en el archivo de texto especificado. Puede ver cómo los resultados muestran toda la línea que contiene la palabra "Debian":

Ejemplo 2: Buscando una cadena específica en múltiples archivos

Con el comando EGREP, puede buscar una cadena entre múltiples archivos que residen en el mismo directorio. Solo tiene que ser un poco más específico para proporcionar un "patrón" para los archivos buscados. Esto se volverá más claro con el ejemplo que presentaremos.

Sintaxis:

$ EGREP "Search_String" FileName_Pattern

Ejemplo:

Aquí, buscaremos la palabra "Debian" en todo el .archivos txt especificando el patrón de nombre de archivo de la siguiente manera:

$ EGREP "Debian" *.TXT

El comando ha impreso todas las líneas, junto con los nombres de archivo que contienen la palabra "Debian" de todos los .archivos txt en el directorio actual.

Ejemplo 3: Buscando recursivamente la cadena en todo el directorio

Cuando desee buscar una cadena en todos los archivos de un directorio y sus subdirectorios, puede hacerlo usando el indicador -r con el comando EGREP.

Sintaxis:

$ egrep -r "search_string" *

Ejemplo:

En este ejemplo, estoy buscando la palabra "muestra" en los archivos de todo el directorio actual (descargas).

$ egrep -r "muestra" *

Los resultados contienen todas las líneas, junto con los nombres de archivo, que contienen la palabra "muestra" de todos los archivos en el directorio de descargas, y sus subtirectorios subterráneos.

Ejemplo 4: Realizar una búsqueda insensible

Con el indicador -i, puede usar el comando EGREP para imprimir los resultados en función de una cadena de búsqueda sin tener que preocuparse por su caso.

Sintaxis:

$ egrep -i "Search_string" nombre de archivo

Ejemplo:

Aquí, estoy buscando la palabra "Debian" y quiero que los resultados muestren todas las líneas del archivo que contienen la palabra "Debian" o "Debian, independientemente de su caso.

$ egrep -i "Search_string" nombre de archivo

Puede ver cómo la bandera -i me ayudó a buscar todas las líneas que contienen la cadena de búsqueda a través de una búsqueda "insensible" de caso.

Ejemplo 5: Buscar una cadena como una palabra completa y no como una subtracción

Cuando normalmente busca una cadena a través de EGREP, imprime todas las palabras que contienen la cadena como una subcontratación. Por ejemplo, buscar la cadena "encendido" imprimirá todas las palabras que contienen la cadena "encendido" como "encendido", "solo", "monitor", "clon", etc. Si desea que los resultados muestren solo la palabra "encendido" como una palabra completa y no como una subtracción, puede usar el indicador -w con EGREP.

Sintaxis:

$ EGREP -W "Search_String" FileName

Ejemplo:

Aquí estoy buscando la cadena "ON" en un archivo de muestra:

$ egrep -i "en" muestra de muestra.TXT

Puede ver en la salida anterior, que también contiene la palabra "solo". Sin embargo, esto no es lo que quiero, ya que estoy buscando exclusivamente la palabra "encendido". Entonces, este es el comando que usaré en su lugar:

$ egrep -iw "on" samplefile.TXT

Ahora mis resultados de búsqueda solo incluyen las líneas que contienen la palabra "encendido" como una palabra completa.

Ejemplo 6: Impresión solo de los nombres de archivo que contienen la cadena

A veces solo queremos obtener los nombres de archivo que contienen una cadena específica, en lugar de imprimir las líneas que lo contienen. Esto se puede hacer usando el indicador -l (minúscula L) con el comando EGREP.

Sintaxis:

$ EGREP -L "Search_String" FileName_Pattern

Ejemplo:

Aquí estoy buscando la "muestra" de la cadena en todo el .archivos txt en el directorio actual:

$ egrep -l muestra *.TXT

Los resultados de búsqueda solo imprimen el nombre de los archivos que contienen la cadena especificada.

Ejemplo 7: Imprimir solo la cadena de búsqueda desde un archivo

En lugar de imprimir toda la línea que contiene la cadena de búsqueda, puede usar el comando EGREP para imprimir la cadena en sí misma. La cadena se imprimirá el número de veces que aparece en el archivo especificado.

Sintaxis:

$ EGREP -O "Search_String" FileName

Ejemplo:

En este ejemplo, estoy buscando la palabra "esto" en mi archivo.

$ egrep -o este samplefile_.TXT

Nota: Este uso del comando es útil cuando está buscando una cadena basada en un patrón de expresión regular. Explicaremos expresiones regulares en detalle en uno de los próximos ejemplos.

Ejemplo 8: Mostrar n número de líneas antes, después o alrededor de la cadena de búsqueda

A veces es muy importante conocer el contexto en un archivo donde se usa una cadena específica. El Egrep es útil en el sentido de que se puede usar para mostrar la línea que contiene la cadena de búsqueda y también un número específico de líneas antes, después y lo rodean.

Este es el archivo de texto de muestra que usaré para explicar los próximos ejemplos:

N Número de líneas después de la cadena de búsqueda:

El uso del indicador A de la siguiente manera mostrará la línea que contiene la cadena de búsqueda y N número de líneas después de él:

$ egrep -a nombre de archivo "Search_string"

Ejemplo:

$ EGREP -A 2 "muestra de muestra".TXT

N Número de líneas antes de la cadena de búsqueda:

El uso del indicador B de la siguiente manera mostrará la línea que contiene la cadena de búsqueda y el número de líneas antes:

$ egrep -b nombre de archivo "Search_string"

Ejemplo:

$ EGREP -B 2 "Muestra" de muestra de muestra.TXT

N Número de líneas antes de la cadena de búsqueda:

El uso del indicador C de la siguiente manera mostrará la línea que contiene la cadena de búsqueda, y n número de líneas antes y después:

$ egrep -c nombre de archivo "Search_string"

Ejemplo:

$ egrep -c 2 "muestra" muestra de muestra.TXT

Ejemplo 9: coincidir la expresión regular en archivos

El comando EGREP se vuelve más poderoso mientras busca expresiones regulares en lugar de cadenas de búsqueda sólidas en un archivo.

Sintaxis:

$ egrep "regularexpressions" nombre de archivo

Permítanos explicar cómo puede usar expresiones regulares en su búsqueda de ágles:

Operador de repetición Usar
? El artículo anterior antes ? es opcional y coincide con el máximo una vez
* El elemento anterior antes * se coincidirá con cero o más veces
+ El elemento anterior antes + se combinará una o más veces
norte El elemento anterior es exactamente coincidente n número de veces.
norte, El elemento anterior coincide n o más veces
,metro El elemento anterior se combina con el máximo M veces
Nuevo Méjico El elemento anterior coincide al menos n veces pero no más de M veces

Ejemplo:

En el siguiente ejemplo, las líneas que contienen la siguiente expresión coinciden:

Comenzando con "gnomo" y terminando en "programas"

Ejemplo 10: resaltar la cadena de búsqueda

Cuando establece la variable de entorno Grep_options como se muestra a continuación, obtiene su salida con la cadena de búsqueda/patrón resaltado en los resultados:

$ sudo export Grep_options = '-color = Auto' Grep_Color = '100; 8'

Luego puede buscar la cadena de cualquier manera que hayamos descrito en los ejemplos de este artículo.

Ejemplo 11: Realizar la búsqueda invertir en un archivo

Por invertir la búsqueda, queremos decir que el comando EGREP imprime todo en el archivo, excepto las líneas que contienen la cadena de búsqueda. Usaremos el siguiente archivo de muestra para explicar la búsqueda invertir a través de EGREP. Hemos impreso el contenido del archivo utilizando el comando CAT:

Sintaxis:

$ EGREP -V "Search_String" FileName

Ejemplo:

Desde el archivo de muestra que mencionamos, queremos omitir la línea que contiene la palabra "dos" en la salida, por lo tanto, usaremos el siguiente comando:

$ EGREP -V "Two" SampleFile_.TXT

Puede ver cómo la salida contiene todo, desde el archivo de muestra, excepto la segunda línea que contenía la cadena de búsqueda "dos".

Ejemplo 12: Realización de la búsqueda invertida basada en criterios múltiples/patrón de búsqueda

Con el indicador -v, también puede hacer el comando EGREP para realizar una búsqueda invertida basada en más de una cadena de búsqueda/patrón.

Usaremos el mismo archivo de muestra que mencionamos en el Ejemplo 11 para explicar este escenario.

Sintaxis:

$ egrep -v -e "search_string"/"patrón" -e "search_string"/"patrón"
… Nombre del archivo

Ejemplo:

Del archivo de muestra que mencionamos, queremos omitir la (s) línea (s) que contiene las palabras "una" y "dos" en la salida, por lo tanto, usaremos el siguiente comando:

$ egrep -v -e "one" -e "two" samplefile_.TXT

Hemos proporcionado dos palabras para omitir el uso del indicador -e, por lo tanto, la salida aparecerá de la siguiente manera:

Ejemplo 13: Impresión del número de líneas que coinciden con la cadena de búsqueda

En lugar de imprimir la cadena buscada desde el archivo o las líneas que lo contienen, puede usar el comando EGREP para contar e imprimir el número de líneas coincidentes con la cadena. Este recuento se puede obtener usando el indicador -c con el comando EGREP.

Sintaxis:

$ EGREP -C "Search_String" FileName

Ejemplo:

En este ejemplo, usaremos el indicador -c para contar el número de líneas que contienen la palabra "esto" en nuestro archivo de muestra:

$ egrep -c "this" nombre de archivo

También puede usar la función de búsqueda invertir aquí para contar e imprimir el número de líneas que no contienen la cadena de búsqueda:

$ GREP -V -C "Search_String" FileName

Ejemplo 14: Mostrar el número de línea donde se combina la cadena

Con el indicador -n, puede hacer el comando EGREP para imprimir la línea coincidente junto con el número de línea que contiene la cadena de búsqueda.

Sintaxis:

$ GREP -N "Search_String" Nombre de archivo

Ejemplo:

$ Grep -n "this" sampleFile_.TXT

Puede ver cómo se muestran los números de línea contra los resultados de la búsqueda.

Ejemplo 15: Mostrar la posición en el archivo donde coincide la cadena de búsqueda

Si desea conocer la posición en el archivo donde existe la cadena de búsqueda, puede usar el indicador -B con el comando EGREP.

$ grep -o -b "search_string" nombre de archivo

Ejemplo:

$ Grep -O -B "this" sampleFile_.TXT

Los resultados de búsqueda imprimen el desplazamiento de bytes del archivo donde existe la palabra de búsqueda.Este fue un uso detallado del comando EGREP. Al usar una combinación de las banderas explicadas en este artículo, puede realizar búsquedas más significativas y complejas en sus archivos.