GNU/Linux >> Tutoriales Linux >  >> Linux

Uso del comando grep en Linux

¿Qué es grep?

La utilidad grep que veremos hoy es una herramienta de Unix que pertenece a la misma familia que las utilidades egrep y fgrep. Todas estas son herramientas de Unix diseñadas para realizar la tarea de búsqueda repetitiva en sus archivos y texto. Puede buscar archivos y su contenido para obtener información útil especificando criterios de búsqueda particulares a través del comando grep.

Entonces dicen que GREP significa Global Regular Expression Print, pero ¿de dónde se origina este comando 'grep'? grep básicamente se deriva de un comando específico para el muy simple y venerable editor de texto de Unix llamado ed. Así es como funciona el comando ed:

g/re/p

El propósito del comando es bastante similar a lo que queremos decir cuando buscamos a través de grep. Este comando obtiene todas las líneas de un archivo que coinciden con un determinado patrón de texto.

Exploremos un poco más el comando grep. En este artículo, explicaremos la instalación de la utilidad grep y presentaremos algunos ejemplos a través de los cuales puede aprender exactamente cómo y en qué escenario puede usarla.

Hemos ejecutado los comandos y procedimientos mencionados en este artículo en un sistema Ubuntu 18.04 LTS.

Instalar grep

Aunque la utilidad grep viene por defecto con la mayoría de los sistemas Linux, si no la tiene instalada en su sistema, este es el procedimiento:

Abra su terminal de Ubuntu ya sea a través del tablero o el atajo Ctrl+Alt+T. Luego ingrese el siguiente comando como root para instalar grep a través de apt-get:

$ sudo apt-get install grep

Ingrese y cuando se le solicite una opción y/n durante el procedimiento de instalación. Después de eso, la utilidad grep se instalará en su sistema.

Puede verificar la instalación verificando la versión de grep a través del siguiente comando:

$ grep --version

Uso del comando grep con ejemplos

El comando grep se puede explicar mejor presentando algunos escenarios en los que se puede utilizar. Estos son algunos ejemplos:

Buscar archivos

Si desea buscar un nombre de archivo que contenga una palabra clave específica, puede filtrar su lista de archivos a través del comando grep de la siguiente manera:

Sintaxis:

$ ls-l | grep -i “ palabra de búsqueda

Ejemplos:

$ ls -l | grep -i sample

Este comando enumerará todos los archivos en el directorio actual con el nombre del archivo que contiene la palabra "privado".

Buscar una cadena en un archivo

Puede obtener una oración de un archivo que contiene una cadena de texto específica a través del comando grep.

Sintaxis:

nombre de archivo grep "cadena"

Ejemplo:

$ grep “sample file” sampleFile.txt

Mi archivo de muestra sampleFile.txt contiene la oración que tiene la cadena "archivo de muestra" que puede ver en el resultado anterior. La palabra clave y la cadena aparecen en forma de color en los resultados de búsqueda.

Buscar una cadena en más de un archivo

En caso de que desee buscar oraciones que contengan su cadena de texto de todos los archivos del mismo tipo, el comando grep está a su servicio.

Sintaxis 1:

$ grep “cadena” nombre de archivoPalabra clave*

Sintaxis 2:

$ grep “cadena” *.extensión

Ejemplo 1:

$ grep "sample file” sample*

Este comando obtendrá todas las oraciones que contengan la cadena "archivo de muestra" de todos los archivos con el nombre de archivo que contenga la palabra clave "muestra".

Ejemplo 2:

$ grep "sample file” *.txt

Este comando obtendrá todas las oraciones que contengan la cadena "archivo de muestra" de todos los archivos con extensión .txt.

Buscar una cadena en un archivo sin tener en cuenta el caso de la cadena

En los ejemplos anteriores, mi cadena de texto afortunadamente estaba en el mismo caso que la que se encuentra en mis archivos de texto de muestra. Si hubiera ingresado el siguiente comando, mi resultado de búsqueda sería nulo porque el texto en mi archivo no comienza con una palabra en mayúsculas "Muestra"

$ grep "Sample file" *.txt

Digamos a grep que ignore las mayúsculas y minúsculas de la cadena de búsqueda e imprima los resultados de búsqueda basados ​​en la cadena a través de la opción -i.

Sintaxis:

$ grep -i "cadena" nombre de archivo

Ejemplo:

$ grep -i "Sample file" *.txt

Este comando obtendrá todas las oraciones que contengan la cadena "archivo de muestra" de todos los archivos con extensión .txt. Esto no tendrá en cuenta si la cadena de búsqueda estaba en mayúsculas o minúsculas.

Buscar sobre la base de una expresión regular

A través del comando grep, puede especificar una expresión regular con una palabra clave inicial y final. El resultado será la oración que contenga la expresión completa entre la palabra clave inicial y final especificada. Esta característica es muy poderosa ya que no necesita escribir una expresión completa en el comando de búsqueda.

Sintaxis:

$ grep “palabra clave inicial.*palabra clave final” nombre de archivo

Ejemplo:

$ grep "starting.*.ending" sampleFile.txt

Este comando imprimirá la oración que contiene la expresión (comenzando desde mi palabra clave inicial y terminando en mi palabra clave final) del archivo que especifiqué en el comando grep.

Mostrar un número específico de líneas después/antes de la cadena de búsqueda

Puede usar el comando grep para imprimir N número de líneas antes/después de una cadena de búsqueda de un archivo. El resultado de la búsqueda también incluye la línea de texto que contiene la cadena de búsqueda.

La sintaxis para N número de líneas después de la cadena clave:

$ grep -A nombre de archivo "cadena"

Ejemplo:

$ grep -A 3 -i "samplestring" sampleFile.txt

Así es como se ve mi archivo de texto de muestra:

Y así es como se ve la salida del comando:

Muestra 3 líneas, incluida la que contiene la cadena buscada, del archivo que especifiqué en el comando grep.

La sintaxis para N número de líneas antes de la cadena clave:

$ grep -B nombre de archivo “cadena”

También puede buscar N número de líneas "alrededor" de una cadena de texto. Eso significa N número de líneas antes y N después de la cadena de texto.

La sintaxis para el número N de líneas alrededor de la cadena clave:

$ grep -C nombre de archivo “cadena”

A través de los ejemplos simples descritos en este artículo, puede controlar el comando grep. Luego puede usarlo para buscar resultados filtrados que pueden incluir archivos o contenidos del archivo. Esto ahorra mucho tiempo que se desperdiciaba hojeando todos los resultados de búsqueda antes de dominar el comando grep.


Linux
  1. Cómo usar el comando grep de Linux

  2. Cómo usar el comando de historial en Linux

  3. Cómo usar el comando id en Linux

  4. Utilice el comando grep de Linux

  5. Cómo usar el comando "pantalla" en Linux

Cómo usar grep en Linux

Cómo usar el comando fd en el sistema Linux

¿Cómo usar el comando wget en Linux?

¿Cómo usar el comando xargs en Linux?

Cómo usar el comando RPM en Linux

Cómo usar el comando which en Linux