comando grep en Unix/Linux

comando grep en Unix/Linux

El grep> El comando en Unix/Linux es una poderosa herramienta que se utiliza para buscar y manipular patrones de texto dentro de archivos. Su nombre se deriva del comando ed (editor) g/re/p (buscar globalmente una expresión regular e imprimir líneas coincidentes), que refleja su funcionalidad principal. grep> es ampliamente utilizado por programadores, administradores de sistemas y usuarios por su eficiencia y versatilidad en el manejo de datos de texto. En este artículo, exploraremos los diversos aspectos de la grep> dominio.

Tabla de contenidos

Sintaxis del comando grep en Unix/Linux

La sintaxis básica del ` grep`> comando es el siguiente:

  grep [options] pattern [files] 

Aquí,

[> options> ]> : Estos son indicadores de línea de comando que modifican el comportamiento de grep> .

[> pattern> ]> : Esta es la expresión regular que desea buscar.

[> file> ]> : Este es el nombre de los archivos en los que desea buscar. Puede especificar varios archivos para realizar búsquedas simultáneas.

Opciones disponibles en el comando grep

Opciones

Descripción

-C

Esto imprime solo un recuento de las líneas que coinciden con un patrón.

-h

Muestra las líneas coincidentes, pero no muestra los nombres de los archivos.

i

Ignora, caso para hacer coincidir

-l

Muestra la lista de nombres de archivos únicamente.

-norte

Muestre las líneas coincidentes y sus números de línea.

-en

Esto imprime todas las líneas que no coinciden con el patrón.

-e exp

Especifica la expresión con esta opción. Se puede usar varias veces.

-f archivo

Toma patrones del archivo, uno por línea.

-Y

Trata el patrón como una expresión regular extendida (ERE)

-En

Compare la palabra completa

-O

Imprima solo las partes coincidentes de una línea coincidente, con cada una de esas partes en una línea de salida separada.

-Un

Imprime la línea buscada y nlíneas después del resultado.

-B n

Imprime la línea buscada y n líneas antes del resultado.

-C norte

Imprime la línea buscada yn líneas después antes del resultado.

Comandos de muestra

Considere el siguiente archivo como entrada.

cat>archivogeek.txt 

Unix es un gran sistema operativo. Unix fue desarrollado en los laboratorios Bell.

aprender sistema operativo.

Unix linux cual eliges.

uNix es fácil de aprender. UNIX es un sistema operativo multiusuario. Aprenda Unix. Unix es un sistema potente.

Ejemplo práctico del comando grep en Linux

La opción -i permite buscar una cadena sin distinguir entre mayúsculas y minúsculas en el archivo dado. Coincide con palabras como UNIX, Unix, unix.

grep -i 'UNix' geekfile.txt 

Producción:

Búsqueda que no distingue entre mayúsculas y minúsculas

Búsqueda que no distingue entre mayúsculas y minúsculas

2. Mostrar el recuento del número de coincidencias usando grep

Podemos encontrar el número de líneas que coinciden con la cadena/patrón dado

grep -c 'unix' geekfile.txt 

Producción:

Mostrando el número de conteo de las coincidencias.

Mostrando el número de conteo de las coincidencias.

3. Muestre los nombres de archivos que coinciden con el patrón usando grep

Simplemente podemos mostrar los archivos que contienen la cadena/patrón dado.

grep -l 'unix' * 

o

grep -l 'unix' f1.txt f2.txt f3.xt f4.txt 

Producción:

El nombre del archivo que coincide con el patrón.

El nombre del archivo que coincide con el patrón.

4. Comprobar las palabras completas en un archivo usando grep

De forma predeterminada, grep coincide con la cadena/patrón dado incluso si se encuentra como una subcadena en un archivo. La opción -w para grep hace que coincida solo con las palabras completas.

grep -w 'unix' geekfile.txt 

Producción:

comprobar palabras completas en un archivo

comprobar palabras completas en un archivo

5. Mostrar solo el patrón coincidente Usando grep

De forma predeterminada, grep muestra la línea completa que tiene la cadena coincidente. Podemos hacer que grep muestre solo la cadena coincidente usando la opción -o.

grep -o 'unix' geekfile.txt 

Producción:

Mostrando solo el patrón coincidente

Mostrando solo el patrón coincidente

6. Muestre el número de línea mientras muestra la salida usando grep -n

Para mostrar el número de línea del archivo con la línea coincidente.

grep -n 'unix' geekfile.txt 

Producción:

Mostrar el número de línea mientras se muestra la salida

Mostrar el número de línea mientras se muestra la salida

7. Invertir la coincidencia de patrones usando grep

Puede mostrar las líneas que no coinciden con el patrón de cadena de búsqueda especificado utilizando la opción -v.

grep -v 'unix' geekfile.txt 

Producción:

Invertir la coincidencia del patrón

Invertir la coincidencia del patrón

8. Hacer coincidir las líneas que comienzan con una cadena usando grep

El patrón de expresión regular ^ especifica el inicio de una línea. Esto se puede usar en grep para hacer coincidir las líneas que comienzan con la cadena o patrón dado.

grep '^unix' geekfile.txt 

Producción:

Hacer coincidir las líneas que comienzan con una cadena

Hacer coincidir las líneas que comienzan con una cadena

9. Hacer coincidir las líneas que terminan con una cadena usando grep

El patrón de expresión regular $ especifica el final de una línea. Esto se puede usar en grep para hacer coincidir las líneas que terminan con la cadena o patrón dado.

grep 'os$' geekfile.txt 

10.Especifica la expresión con la opción -e

Se puede utilizar varias veces:

grep –e 'Agarwal' –e 'Aggarwal' –e 'Agrawal' geekfile.txt 

11. -f opción de archivo Toma patrones del archivo, uno por línea

cat pattern.txt 

agarwal
agarwal
Agrawal

grep –f pattern.txt geekfile.txt 

12. Imprima n líneas específicas desde un archivo usando grep

-A imprime la línea buscada y n líneas después del resultado, -B imprime la línea buscada y n líneas antes del resultado y -C imprime la línea buscada y n líneas después y antes del resultado.

Sintaxis:

grep -A[NumberOfLines(n)] [search] [file] grep -B[NumberOfLines(n)] [search] [file] grep -C[NumberOfLines(n)] [search] [file] 

Ejemplo:

grep -A1 learn geekfile.txt 

Producción:

Imprimir n líneas específicas de un archivo

Imprimir n líneas específicas de un archivo

13. Busque recursivamente un patrón en el D irectorio

-R imprime el patrón buscado en el directorio dado de forma recursiva en todos los archivos.

Sintaxis:

grep -R [Search] [directory] 

Ejemplo :

grep -iR geeks /home/geeks 

Producción:

./geeks2.txt:Well Hello Geeks ./geeks1.txt:I am a big time geek ---------------------------------- -i to search for a string case insensitively -R to recursively check all the files in the directory. 

Conclusión

En este artículo discutimos el grep> comando en Linux, que es una potente herramienta de búsqueda de texto que utiliza expresiones regulares para encontrar patrones o texto dentro de archivos. Ofrece varias opciones, como no distinguir entre mayúsculas y minúsculas, contar coincidencias y enumerar nombres de archivos. Con la capacidad de realizar búsquedas recursivas, utilizar indicadores de expresiones regulares y personalizar la salida, grep> es una herramienta vital para que los usuarios de Linux manejen de manera eficiente tareas relacionadas con el texto. Masterización grep> mejora su capacidad para trabajar con datos de texto en el entorno Linux.