
«Todo en Linux es un archivo.«Esta es la razón por la que la mayoría de los usuarios de Linux dedican mucho tiempo a modificar el contenido de los archivos.
Aquí es donde la importancia del comando grep juega un papel clave, le permite Buscar y combinar patrones en archivos de texto u obtener el resultado.
Entonces, en este tutorial, lo guiaré a través de todos los puntos esenciales necesarios para aprender el comando grep:
- Sintaxis básica y opciones populares para comandos
- Ejemplos prácticos de comandos.
- ejercicios de comando grep
A continuación se explica cómo utilizar el comando grep
Para utilizar el comando grep, es importante comprender la sintaxis.
Esta es la sintaxis básica del comando grep:
grep [OPTIONS] PATTERN aquí,
[OPTIONS]: Con un conjunto determinado de opciones, puede cambiar el comportamiento preestablecido del comando grep, por ejemplo, usando-iHabilite búsquedas que no distingan entre mayúsculas y minúsculas.PATTERN: Aquí puede especificar el texto a buscar en un archivo o salida de comando. También puede ser una expresión regular para patrones más complejos.: Aquí usted especifica el archivo a buscar, si no especifica ningún archivo, buscará desde la entrada estándar.
Ahora, veamos algunas opciones comunes del comando grep:
| Opciones | describir |
|---|---|
-i | Ignore mayúsculas y minúsculas al realizar la búsqueda. |
-v | Imprime líneas que no coinciden con el patrón. |
-n | Muestra el número de línea de cada línea coincidente. |
-w | Coincide únicamente con palabras completas, no con partes de palabras. |
-c | Cuenta el número de filas coincidentes, no imprime las filas. |
-r | Buscar directorios de forma recursiva. |
-A n | Imprima n líneas después de cada línea coincidente. |
-B n | Imprima n líneas antes de cada línea coincidente. |
-C n | Imprima n líneas antes y después de cada línea coincidente. |
-f Filename | Lea los patrones de búsqueda del archivo, uno por línea. |
-o | Imprime sólo la parte coincidente de la fila. |
Quizás se pregunte: ¿qué sucede cuando usa el comando grep sin ninguna opción? Bueno, simplemente imprime las líneas que contienen el patrón.
Por ejemplo, aquí quiero buscar error Palabras clave en el archivo error.log y sin otras opciones, me da este resultado:
¿Lo viste? Resalta el patrón encontrado e imprime las líneas que contienen el patrón.
Para que este tutorial sea fácil de seguir, usaré una herramienta llamada error.log Estos incluyen las siguientes líneas:
This is a log file with various messages.
An error occurred at 10:00 AM.
The system encountered an unexpected issue.
Everything is working normally now.
Another error message at 11:30 AM.
Warning: Please check disk usage.
Log closed at 12:00 PMEjemplo práctico del comando grep
En esta sección, presentaré varios ejemplos del comando grep para que pueda comprender mejor cómo usarlo.
1. Búsqueda que no distingue entre mayúsculas y minúsculas
El modo de comando grep distingue entre mayúsculas y minúsculas de forma predeterminada y, en la mayoría de los casos, funciona bien, pero es posible que desee desactivar la distinción entre mayúsculas y minúsculas.
Para esto puedes usar -i El logotipo se muestra a continuación:
grep -i PATTERN FilenamePara demostrar esto usaré ERROR Como patrón de búsqueda, muestra patrones coincidentes independientemente del caso:
grep -i ERROR error.log
2. Mostrar n Une las líneas antes y después de la línea.
De forma predeterminada, el comando grep imprime solo líneas coincidentes, pero a veces es necesario el contexto de las líneas coincidentes. Entonces imprime las líneas antes y después de la línea coincidente.
Imprimir n Haga coincidir la línea antes de la línea
Para imprimir n filas antes de hacer coincidir las filas, puede usar -B Marque y especifique el número de filas a imprimir de la siguiente manera:
grep -B PATTERN Filename Por ejemplo, aquí imprimo una línea antes de cada línea coincidente:
grep -B 1 error error.log 
Imprimir n La línea después de la línea coincidente.
Para imprimir n líneas después de la línea coincidente, puede usar -A Marque y especifique el número de filas de la siguiente manera:
grep -A PATTERN Filename Si quiero imprimir una línea después de la línea coincidente, usaría lo siguiente:
grep -A 1 error error.log
Imprimir n Une las líneas antes y después de la línea.
Si desea imprimir las líneas antes y después, puede usar -C Marque y especifique el número de filas a imprimir de la siguiente manera:
grep -C PATTERN Filename Supongamos que quiero mostrar 1 línea antes de la línea del patrón coincidente y 1 línea después de la línea del patrón coincidente, entonces usaría lo siguiente:
grep -C 1 error error.log
3. Mostrar líneas que no coinciden con el patrón.
La mayoría de las veces, utilizará el comando grep para hacer coincidir patrones, pero también le permite invertir los resultados de la búsqueda.
En resumen, especificas un término de búsqueda e imprimirá las líneas que no coinciden con el patrón dado, para esto puedes usar -v El logotipo se muestra a continuación:
grep -v PATTERN FilenamePor ejemplo, si quiero imprimir cada fila que no contiene error términos, entonces usaría lo siguiente:
grep -v error error.log
4. Muestra el número de líneas coincidentes.
Para mostrar el número de filas coincidentes, todo lo que tienes que hacer es usar -n El logotipo es como se muestra:
grep -n PATTERN Filename
5. Muestra el número total de resultados coincidentes.
Si desea saber el número de resultados coincidentes, puede utilizar -c El logotipo es como se muestra:
grep -c PATTERN FilenamePor ejemplo, aquí quiero saber cuántas veces aparece esta palabra. error mencionado en error.log archivo, así que utilicé el siguiente comando:
grep -c error error.log
6. Busque patrones en varios documentos.
Si desea buscar un patrón en varios archivos, todo lo que tiene que hacer es agregar varios archivos para buscar de esta manera:
grep PATTERN File1 File2Por ejemplo, aquí busqué error Cadenas de dos archivos: error.log y error.txt Me da el siguiente resultado:
grep error error.log error.txt
7. Busque patrones de cada archivo en el directorio.
Si desea buscar un patrón específico de cada archivo presente en un directorio, puede usar el comando grep de forma recursiva, que buscará un patrón determinado de cada archivo presente en ese directorio específico.
Para habilitar la búsqueda recursiva, utilice -r El logotipo es como se muestra:
grep -r PATTERN Por ejemplo, aquí busqué error Cadenas en el directorio actual:
grep -r error .
8. Busca la palabra exacta
De forma predeterminada, el comando grep imprimirá todos los patrones coincidentes, que no es lo que siempre desea. ¿Suena extraño? Por favor permítame explicarle.
Digamos que quieres buscar el término. Orange Pero si un archivo en particular también contiene el término Oranges Entonces la línea que contiene el término Oranges También se mostrará como salida.
Para solucionar este problema puedes utilizar -w opciones y especifique el modo:
grep -w PATTERN FilenamePor ejemplo, aquí voy a buscar la palabra. err Entonces usaré -w bandera, y también le muestra la diferencia en lo que sucede cuando no lo usa.
grep -w err error.log
cuando uso -w Firmar para encontrar err cadena, no devuelve ningún resultado porque no existe.
Pero en el segundo intento lo eliminé. -w bandera, devolverá dos resultados de contenido de visualización, donde el patrón de cadena es parte de la otra cadena (no separada).
9. Utilice el modo de expresión regular para búsquedas avanzadas.
Si una búsqueda normal no hace justicia, entonces puedes usar el modo regex (secuencia de caracteres) para tener más control sobre tu búsqueda.puedes usarlo -e Las banderas usan patrones de expresión regular, mientras que -E Expresiones regulares que le permiten utilizar funciones extendidas:
grep -e/-E PATTERN FilenamePor ejemplo, aquí estoy usando una expresión regular extendida para encontrar dos vocales usadas juntas en un archivo:
grep -e '[aeiouAEIOU]{2}' error.log
Lectura recomendada📖
Encuentra comandos en Linux usando expresiones regulares [5 Examples]
Busque usando expresiones regulares, habilitando el modo bestia del comando de búsqueda.

10. Utilice el operador OR para especificar múltiples patrones
Puede especificar varios patrones utilizando el operador O, lo cual resulta útil cuando desea buscar varios patrones de manera eficiente.
Para especificar varios patrones, utilice el operador O (|) de la siguiente manera:
grep 'PATTERN_1\|PATTERN_2' Filename💡
Puede presionar Mayús + Barra invertida para obtener el operador O.
Digamos que deseo encontrar dos patrones: error y Please Entonces usaría lo siguiente:
grep 'error\|Please' error.log
Preguntas de práctica 📓
La práctica es la mejor manera de aprender, por eso comparto algunas preguntas de práctica para el comando grep.
puedes usarlo error.log Los archivos que mencioné al principio de esta guía resuelven los siguientes problemas:
- descubrir
errorUna cadena para cada archivo presente en el directorio de trabajo. - Buscar filas que no contengan el término
success. - Busca en un archivo líneas que contengan cualquiera de los siguientes
erroroissue. - buscando términos
logDesactivando las búsquedas que distinguen entre mayúsculas y minúsculas y redirigiendo la salida a un archivo. - ¿Cómo imprimir solo los 2 últimos resultados e ignorar todos los demás? (Consejo: utilice el comando tail)
Si encuentra alguna dificultad para resolver el problema anterior, contáctenos en los comentarios o publique su pregunta en nuestro foro social.
Puede descargar la hoja de referencia del comando grep para obtener más ejemplos e información:
Hoja de trucos y ejemplos del comando grep [Free PDF Download]
A continuación se muestran algunos casos de uso prácticos y comunes del comando grep. También puede descargar una hoja de referencia para referencia rápida.

¿Eres un usuario avanzado? prueba ripgrep
El comando ripgrep puede hacer todo lo que hace el comando grep, pero con algunas ventajas adicionales, como rendimiento y funcionalidad, incluida la capacidad de buscar dentro de archivos zip.
¿Suena genial? A continuación se explica cómo instalar y utilizar ripgrep en Linux:
Usando el comando ripgrep en Linux
Es posible que ripgrep basado en Rust no reemplace completamente el comando grep clásico, pero proporciona una gran cantidad de funciones de búsqueda útiles, como el comando grep.

Además, si eres nuevo en Linux, te recomiendo que leas también nuestro Tutorial de comandos para principiantes.
Tutorial de instrucciones de Linux para principiantes absolutos
¿Nunca antes usaste comandos de Linux? No te preocupes. Esta serie de tutoriales es adecuada para principiantes absolutos en terminales Linux.

💬Comparte tu opinión sobre el comando, tu experiencia al usarlo y ¿qué prefieres en lugar de grep?







