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
- Opciones disponibles en el comando grep
- Ejemplo práctico del comando grep en Linux
- 1. Búsqueda que no distingue entre mayúsculas y minúsculas
- 2. Mostrar el recuento del número de coincidencias usando grep
- 3. Muestre los nombres de archivos que coinciden con el patrón usando grep
- 4. Comprobar las palabras completas en un archivo usando grep
- 5. Mostrar solo el patrón coincidente Usando grep
- 6. Muestre el número de línea mientras muestra la salida usando grep -n
- 7. Invertir la coincidencia de patrones usando grep
- 8. Hacer coincidir las líneas que comienzan con una cadena usando grep
- 9. Hacer coincidir las líneas que terminan con una cadena usando grep
- 10.Especifica la expresión con la opción -e
- 11. -f opción de archivo Toma patrones del archivo, uno por línea
- 12. Imprima n líneas específicas desde un archivo usando grep
- 13. Buscar recursivamente un patrón en el directorio
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
1. Búsqueda que no distingue entre mayúsculas y minúsculas
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
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.
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.
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
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
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
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
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
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
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.