Ejemplos comunes del comando Grep en Linux [With Free Cheatsheet Download]

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í. Voy a sólo 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é.

Opción Ejemplo de comando Descripción
I archivo de patrón grep -i Búsqueda insensible a 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 Contar el número de líneas coincidentes
yo archivo de patrón grep -l Mostrar solo los nombres de los archivos
w archivo de patrón grep -w Coincidir con la palabra exacta
mi grep -e archivo de expresiones regulares Coincide con el patrón de expresión regular
a grep -un archivo de patrones Buscar en archivos binarios
r directorio de patrón grep -r Búsqueda recursiva en el directorio

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 de esta manera:

                      
                        grep search_pattern filename
                      
                    

Veamos algunos casos de uso comunes del comando grep.

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 el -i opción:

                      
                        grep -i search_pattern filename
                      
                    

De esta forma, grep devolverá líneas que coincidan con ambas 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. Recuerde, A es para Después.

El siguiente comando mostrará las líneas coincidentes junto con las 5 líneas después de la coincidencia.

                      
                        grep -A 5 search_pattern filename
                      
                    

Del mismo modo, puede utilizar el -B opción de mostrar líneas antes de las coincidentes. Recuerde, 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 opcion -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 utiliza con el -v opción:

                      
                        grep -v search_pattern filename
                      
                    

Puedes combinar -i y -v opciones

Contar el número de líneas coincidentes

En lugar de mostrar las líneas coincidentes, solo 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 el -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 utilizar el -n opción.

                      
                        grep -n search_pattern filename
                      
                    

Puedes hacer lo mismo con la búsqueda inversa.

Buscar en varios archivos

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

                      
                        grep search_pattern file1 file2
                      
                    

Eso podría funcionar, pero de una manera más práctica. example es buscar en un tipo particular de archivos. Para examplesi 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 en el 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 realizado la búsqueda en varios archivos y solo desea ver qué archivos contienen la cadena, puede utilizar el -l opción.

                      
                        grep -l search_pattern files_pattern
                      
                    

Digamos que desea 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 y la opción regex -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 de 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 el -a opción.

                      
                        grep -a pattern binary_file
                      
                    

Descargue la 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 GRATIS Descarga instantánea de comandos grep comunes con descripción en formato PDF. grep-command-cheatsheet.pdf 78 KB

descarga-círculo

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

Related Posts