Comando GREP en Linux

Comando GREP en Linux
GREP (PRIMINA DE EXPRESIÓN ROGNA GLOBAL) El comando es la utilidad de línea de línea Linux más potente y utilizada regularmente. Usando GREP, puede buscar información útil especificando un criterio de búsqueda. Busca un patrón de expresión particular en un archivo especificado. Cuando encuentra una coincidencia, imprime todas las líneas de un archivo que coincidía con el patrón especificado. Es útil cuando tienes que filtrar a través de archivos de registro grandes.

En este artículo, explicaremos el uso de la utilidad GREP con diferentes ejemplos. Usaremos Debian 10 para explicar los comandos y métodos mencionados en este artículo.

Instalación de GREP

GREP viene instalado en la mayoría de las distribuciones de Linux. Sin embargo, en caso de que falta en su sistema, puede instalarlo utilizando el siguiente método en el terminal:

$ sudo apt-get instalación grep

Usando Grep

Aquí está la sintaxis básica del comando GREP. Comienza con GREP seguido de algunas opciones y criterios de búsqueda y luego termina con el nombre del archivo.

$ GREP [OPCIONES] Patrón [archivo ...]

Buscar archivos

Para buscar un nombre de archivo en un directorio que contenga una cadena específica, puede usar GREP de la siguiente manera:

$ ls -l | grep -i "cadena

Por ejemplo, para buscar un nombre de archivo que contenga una cadena "prueba", El comando sería:

$ ls -l | Grep -i prueba

Este comando enumera todos los archivos que contienen la cadena "prueba".

Busque una cadena en un archivo

Para buscar una cadena en un archivo en particular, puede usar la siguiente sintaxis del comando:

$ GREP "String" Nombre de archivo

Por ejemplo, para buscar una cadena "prueba"En un archivo nombrado TestFile1, Hemos usado el siguiente comando:

$ GREP "Empleado" TestFile1

La salida anterior ha devuelto la oración del TestFile1 que contiene la cadena "empleado".

Buscar una cadena en varios archivos

Para buscar una cadena en varios archivos, puede usar la siguiente sintaxis del comando:

$ GREP "String" FileName1 FileName2

Por ejemplo, para buscar una cadena "empleado" en nuestros dos archivos testFile1 y testFile2, hemos utilizado el siguiente comando:

$ GREP "Empleado" TestFile1 testFile2

El comando anterior enumerará todas las líneas que contienen la cadena "Empleado" de ambos archivos TestFile1 y TestFile2.

También puede usar un carácter comodín si todos los nombres de archivo comienzan con el mismo texto.

$ GREP "String" Nombre de archivo*

Como, si tomamos el ejemplo anterior en el que nuestros nombres de archivo fueron TestFile1 y TestFile2 , El comando sería:

$ GREP "Empleado" TestFile*

Busque una cadena en un archivo ignorando el caso de la cadena

La mayoría de las veces, se ha encontrado con eso cuando busca algo que use GREP pero no reciba una salida. Esto sucede debido a una falta de coincidencia de casos mientras busca una cadena. Como en nuestro ejemplo, si usamos por error "Empleado" en lugar de "empleado", Devolverá nil ya que nuestro archivo contiene la cadena"empleado"En letras minúsculas.

Puede decirle a GREP que ignore el caso de la cadena de búsqueda usando el indicador -i después del Grep de la siguiente manera:

$ GREP -I "cadena" nombre de archivo

Al usar el indicador -I, el comando realizará la búsqueda insensible al caso y devolverá todas las líneas que contienen la cadena "empleado"En él sin tener en cuenta las letras están en mayúsculas o minúsculas.

Buscar usando la expresión regular

Si se usa correctamente, la expresión regular es una característica muy efectiva en GREP. Con el comando GREP, puede definir una expresión regular con una palabra clave inicial y final. Al hacerlo, no necesitará escribir la línea completa con el comando GREP. La siguiente sintaxis se puede usar para este propósito.

$ GREP "Palabra clave inicial.*Endingkeyword ”nombre de archivo

Por ejemplo, para buscar una línea en un archivo llamado TestFile1 que comience con la cadena "esto" y termine con la cadena "Datos", hemos utilizado el siguiente comando:

$ Grep "Esto.*Datos "TestFile1

Imprimirá toda la línea desde el TestFile1 Contiene la expresión (la palabra clave inicial "esto" y la palabra clave final "datos").

Imprima un número particular de líneas después/antes de la cadena de búsqueda

También puede mostrar el número específico de líneas en un archivo antes/después de una combinación de cadena junto con la cadena coincidente en sí. La siguiente sintaxis se puede usar para este propósito:

$ Grep -A Nombre de archivo "cadena"

Mostrará n número de líneas después de que la cadena coincida en el archivo especificado, incluida la cadena coincidente.

Por ejemplo, este es nuestro archivo de muestra nombrado TestFile2.

El siguiente comando emitirá la línea coincidente que contiene la cadena "empleado”, Junto con las 2 líneas después.

$ GREP -A 2 -I "Empleado" TestFile2

Del mismo modo, para mostrar n número de líneas antes de la cadena coincidente en un archivo específico, use la siguiente sintaxis:

$ Grep -B Nombre de archivo "cadena"

Para mostrar n número de líneas alrededor de la cadena en un archivo específico, use la siguiente sintaxis:

$ Grep -C Nombre de archivo "cadena"

Destacando la búsqueda

GREP PRIMA LÍNEAS DE COMPORRECTA ENTRADA ENTREGA POR PRODEMENTE, pero no muestra qué parte de la línea coincide con. Si usa la opción -color con GREP, mostrará dónde aparecen las cadenas de mecanizado en su archivo. GREP de forma predeterminada usa el color rojo para resaltar.

La siguiente sintaxis se puede usar para este propósito:

$ GREP "String" Nombre de archivo -Color

Contando el número de partidos

Si desea contar cuántas veces aparece una palabra en particular en un archivo específico, puede usar la opción GREP con -c. Devuelve solo el número de partidos en lugar de los partidos en sí mismo. La siguiente sintaxis se puede usar para este propósito:

$ grep -c "cadena" nombre de archivo

Este es nuestro archivo de muestra se parece:

El siguiente es un ejemplo de un comando que devolvió el número de veces la palabra archivo apareció en un archivo llamado TestFile3.

Búsqueda invertida

A veces, desea realizar una búsqueda inversa que muestra todas las líneas, excepto que coinciden con la entrada. Para hacerlo, simplemente use la bandera -v seguida de GREP:

$ GREP -V "String" Nombre de archivo

Por ejemplo, para mostrar todas las líneas en un archivo TestFile3 que no contienen la palabra "cuenta" en ellos, hemos usado el siguiente comando:

$ GREP -V "Cuenta" TestFile3

Usando GREP con otros comandos

GREP también se puede usar para filtrar el resultado requerido de la salida de diferentes comandos. Por ejemplo, del "apt -lista insstalada " Salida del comando, desea encontrar solo los paquetes que se instalaron automáticamente, puede filtrar el resultado utilizando GREP de la siguiente manera:

$ Apt -Lista instalada | GREP automático

Del mismo modo, LSCPU proporciona información detallada sobre la CPU. Si solo está interesado en la información sobre la arquitectura de la CPU, puede filtrarla utilizando el siguiente comando:

$ LSCPU | arquitectura de GREP

En este artículo, hemos descrito algunos ejemplos que lo ayudarán a comprender los comandos GREP y su uso en diferentes condiciones. Tener un control sólido en el comando GREP puede ahorrar mucho tiempo si necesita mirar grandes configuraciones o archivos de registro y reducir la información útil a través de ellos.