GNU/Linux >> Tutoriales Linux >  >> Linux

Ejemplos comunes del comando Grep en Linux [con descarga gratuita de Cheatsheet]

Grep es un poderoso comando UNIX que le permite buscar dentro del contenido del archivo en una variedad de parámetros. Es especialmente útil cuando está solucionando problemas o depurando.

El comando grep tiene una gran cantidad de opciones y casos de uso. Probablemente nunca los necesite o los use todos. Sin embargo, terminará usando un puñado de comandos grep la mayor parte del tiempo.

Este artículo enumera los comandos grep más comunes con ejemplos rápidos. El Manual de Linux ya tiene un artículo detallado sobre grep, por lo que no profundizaré aquí. Solo mostraré las opciones comunes y su explicación aquí.

Es bueno si ya está familiarizado con el comando grep pero sigue olvidando qué opción hace qué.

He incluido una hoja de trucos en PDF que puede descargar, imprimir y tener en su escritorio.

Descargar la hoja de trucos de Grep

Ejemplos rápidos del comando Grep

Probablemente ya sepa que para buscar un texto o patrón en particular en un archivo, debe usar grep como este:

grep search_pattern filename

Veamos algunos casos de uso comunes del comando grep.

Búsqueda insensible a mayúsculas y minúsculas

De forma predeterminada, la búsqueda con grep distingue entre mayúsculas y minúsculas. Puede ignorar la coincidencia de mayúsculas y minúsculas con -i opción:

grep -i search_pattern filename

De esta forma, grep devolverá líneas que coincidan tanto con Holmes y holmes .

Mostrar líneas antes y después de las líneas coincidentes

De forma predeterminada, solo ve las líneas coincidentes. Pero cuando está solucionando un problema, es útil ver un par de líneas antes y/o después de las líneas coincidentes.

Puedes usar el -A para mostrar líneas después de las correspondientes. Recuerda, A es para Después.

El siguiente comando mostrará las líneas coincidentes junto con las 5 líneas posteriores a la coincidencia.

grep -A 5 search_pattern filename

Del mismo modo, puede utilizar -B opción de mostrar líneas antes de las coincidentes. Recuerda, B es para Antes.

El siguiente comando mostrará 5 líneas antes de las correspondientes junto con la(s) línea(s) correspondiente(s).

grep -B 5 search_pattern filename

Mi favorita es la opción -C porque muestra líneas que están antes y después de las correspondientes. Recuerde, C aquí significa Círculo.

El siguiente comando mostrará 5 líneas antes de la correspondiente, la línea correspondiente y 5 líneas después de la línea correspondiente.

grep -C 5 search_pattern filename

Mostrar las líneas que no coinciden

Puede usar grep para mostrar todas las líneas que NO coinciden con el patrón dado. Esta 'coincidencia inversa' se usa con -v opción:

grep -v search_pattern filename

Puedes combinar -i y -v opciones.

Cuenta el número de líneas coincidentes

En lugar de mostrar las líneas coincidentes, puede obtener cuántas líneas coinciden con el patrón con -c opción. Esto es c minúscula.

grep -c search_pattern filename

Puedes combinar -c y -v opción para obtener el número de líneas que no coinciden con el patrón dado. Por supuesto, puede usar la opción que no distingue entre mayúsculas y minúsculas -i .

Mostrar números de línea de líneas coincidentes

Para mostrar los números de línea de las líneas coincidentes, puede usar -n opción.

grep -n search_pattern filename

Puedes hacer lo mismo con la búsqueda inversa.

Buscar en múltiples archivos

Puede proporcionar más de un archivo para buscar en grep.

grep search_pattern file1 file2

Eso podría funcionar, pero un ejemplo más práctico es buscar en un tipo particular de archivos. Por ejemplo, si desea buscar una cadena solo en scripts de shell (archivos que terminan en .sh), puede usar:

grep search_pattern *.sh

Buscar todos los archivos en un directorio recursivamente

Puede realizar una búsqueda recursiva con la opción grep -r . Buscará el patrón dado en todos los archivos del directorio actual y sus subdirectorios.

grep -r search_pattern directory_path

Mostrar solo los nombres de los archivos

Por defecto, grep muestra las líneas coincidentes. Si ha ejecutado la búsqueda en varios archivos y solo desea ver qué archivos contienen la cadena, puede usar -l opción.

grep -l search_pattern files_pattern

Digamos que quiere ver qué archivos de Markdown contienen la palabra "manual", puede usar:

grep -l handbook *.md

Buscar solo la palabra completa

Por defecto, grep mostrará cualquier línea que contenga la cadena dada. Puede que no siempre quieras eso. Si está buscando la palabra 'hecho', también mostrará líneas que contengan las palabras 'doner' o 'abandoned'.

Para hacer una búsqueda grep solo de palabras completas, puede usar la opción -w :

grep -w search_string file

De esta manera, si busca la palabra 'hecho', solo mostrará líneas que contengan 'hecho', no 'doner' o 'abandoned'.

Buscar patrones de expresiones regulares

Puede superpotenciar su búsqueda utilizando el patrón regex. Hay una opción dedicada -e que permite usar el patrón de expresiones regulares y la opción -E que permite usar patrones extendidos de expresiones regulares.

grep -e regex_pattern file

Buscar este o aquel patrón

Puede buscar varios patrones en la misma búsqueda grep. Si quieres ver las líneas que contienen un patrón u otro, puedes usar el operador OR | . Sin embargo, debe escapar este carácter especial de la siguiente manera.

grep 'pattern1\|pattern' filename

Puede usar múltiples patrones con el operador OR.

No hay una opción específica para el operador AND. Puede usar grep varias veces con redirección de tubería para eso.

Buscar archivos binarios

Grep ignora los archivos binarios por defecto. Puede hacer que busque en archivos binarios como si fuera un archivo de texto usando -a opción.

grep -a pattern binary_file

Descargar hoja de trucos del comando Grep

Puede marcar esta página para consultar rápidamente las opciones del comando grep y los casos de uso.

También puede descargar esta hoja de trucos de grep en formato PDF, imprimirla y guardarla en su escritorio para echar un vistazo rápido sin perder tiempo.

Descargar Grep Command Cheatsheet GRATISDescarga instantánea de comandos grep comunes con descripción en formato PDF.grep-command-cheatsheet.pdf78 KB

Avíseme si tiene algún otro caso de uso común de grep que le gustaría ver en esta página.


Linux
  1. El comando Sed de Linux:uso y ejemplos

  2. Ejemplos esenciales del comando de archivo en Linux

  3. Comando libre en Linux explicado con ejemplos

  4. 5 ejemplos prácticos del comando dd en Linux

  5. Utilice el comando grep de Linux

10 ejemplos útiles del comando Sort en Linux

Ejemplos esenciales del comando ps en Linux

Comando Grep en Linux (con ejemplos)

Uso del comando grep en Linux

8 usos comunes del comando táctil de Linux

Ejemplos de comandos gratuitos en Linux

    Opción Ejemplo de comando Descripción
    yo archivo de patrón grep -i Búsqueda que no distingue entre mayúsculas y minúsculas
    A grep -Un archivo de patrones Mostrar n líneas después del partido
    B grep -B n archivo de patrón Mostrar n líneas antes del partido
    C grep -C n archivo de patrón Mostrar n líneas antes y después del partido
    v archivo de patrón grep -v Mostrar líneas que no coinciden
    c archivo de patrón grep -c Cuenta el número de líneas coincidentes
    l grep -l archivo de patrón Mostrar solo los nombres de los archivos
    w grep -w archivo de patrón Coincide con la palabra exacta
    e grep -e archivo de expresión regular Hacer coincidir el patrón de expresiones regulares
    a grep -un archivo de patrones Buscar en archivos binarios
    r grep -r patrón directorio Buscar recursivamente en el directorio