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 -anombre 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 -bnombre 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 -cnombre 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.