Comando Grep de Linux: cómo utilizarlo y ejemplos útiles
Los servidores basados en el sistema operativo Linux generalmente no tienen una interfaz gráfica por razones de seguridad. En ese caso, resulta muy importante saber cómo manipular el terminal y algunos comandos de Linux, como grep.
Una operación muy útil que podemos realizar con el terminal es buscar dentro de un archivo de texto. Sobre todo si trabajamos con archivos de configuración de servicios como NTP.
En este tutorial, te enseñaremos a usar el comando grep en Linux (Unix) y reforzaremos el aprendizaje con ejemplos útiles para tu trabajo diario.
Tabla de Contenidos
¿Para qué sirve el comando grep?
El comando grep facilita te permite buscar palabras o cadenas de texto en archivos o en la entrada estándar de la terminal. Cuando localiza lo que buscas, grep muestra las líneas completas que contienen esa información específica.
¿Cómo utilizar el comando grep en Linux?
El comando grep perteneciente a la familia Unix es una de las herramientas más versátiles y útiles disponibles. Este busca un patrón que definamos en un archivo de texto. En otras palabras, con grep en Linux puedes buscar una palabra o patrón y se imprimirá la línea o líneas que la contengan.
A primera vista, puede parecer un comando poco útil, sin embargo, los administradores de sistemas que manejan muchos servicios con varios archivos de configuración lo usan para consultar o buscar líneas específicas dentro de esos archivos.
Primero, conéctate al VPS usando SSH.
ssh tu-usuario@tu-servidor
Si estás ejecutando Linux en tu computadora, simplemente abre el terminal.
La sintaxis del comando grep al buscar un solo archivo es así:
grep [opciones] pattern [ARCHIVO]
- grep: la instrucción de comando
- [opciones]: modificadores del comando
- pattern: el patrón que queremos encontrar con la búsqueda
- [ARCHIVO]: el archivo en el que estás realizando la búsqueda
Así se vería el comando grep:
Puedes ver la documentación y explicaciones de varias opciones ejecutando este comando en la línea de comando:
grep --help
Como puedes ver, el comando nos ofrece muchas posibilidades. Sin embargo, las opciones más importantes y comunes son:
- -i: la búsqueda no distinguirá entre mayúsculas y minúsculas. Es decir, si quieres buscar la palabra “auto” será lo mismo que “AUTO”
- -c: solo mostrará el número de líneas que coinciden con el patrón buscado
- -r: habilita la búsqueda recursiva en el directorio actual
- -n: busca líneas y precede cada línea coincidente con un número de línea.
- -v: con esta opción, se nos muestran las líneas que no coinciden con el patrón que hemos buscado
Ejemplos útiles del comando grep en Linux
Veamos algunos ejemplos prácticos del comando grep en Linux.
Encontrar una palabra en un archivo de texto
Para buscar una palabra en un archivo de texto, simplemente escribe el comando:
grep búsqueda archivo
- búsqueda: la palabra que estás buscando
- archivo: el archivo en el que estás buscando la palabra
En nuestro caso, estamos buscando la palabra command en un archivo llamado grep:
grep command grep
El resultado resalta las líneas que coinciden con la consulta de esta manera:
Encontrar una palabra sin tener en cuenta las mayúsculas y minúsculas
Para hacer esto, es necesario agregar la opción -i.
grep -i búsqueda archivo
¡Eso es todo, así de simple!
Conteo de palabras que coinciden con la búsqueda
Usando el comando grep puedes saber cuántas veces se usa una palabra en el archivo de texto. Simplemente agrega la opción -c.
grep -c búsqueda archivo
Buscar múltiples palabras clave
Hasta ahora hemos visto ejemplos donde buscamos una sola palabra. Grep admite múltiples consultas en un solo comando. El comando se vería así:
grep búsqueda1 archivo | grep búsqueda2 archivo
El comando funciona de forma muy simple. Primero, buscamos Búsqueda1 y luego pasamos después de la barra a un segundo comando grep para la segunda palabra: Búsqueda2.
Encontrar una palabra en un conjunto de archivos
También es posible buscar en varios archivos con un solo comando:
grep -l palabra_a_buscar ./*
En el terminal, se mostrarán los archivos que contienen la palabra que buscaste.
Conclusión
El comando grep en Linux puede facilitar mucho el trabajo si manejamos muchos archivos de texto. Es por eso que grep se considera un comando muy versátil con muchas posibilidades de uso.
En este tutorial has aprendido cuáles son las funciones más comunes del comando grep en Linux. Por otro lado, te recomendamos consultar la documentación oficial para ampliar tu conocimiento.
Comentarios
May 11 2020
Muy buen aporte, gracias
May 15 2020
Hola Daniel, gracias por tu comentario. Nos alegra que te haya servido. Saludos!
June 24 2020
Muy bien explicado, gracias!
June 25 2020
Gracias a ti por leernos Agustín, ¡que bueno que te haya sido útil!
December 18 2020
Muy buen aporte. Siempre he usado grep de forma muy limitada. Este aporte lo hace mucho más versatil. Eskerrik asko!
February 27 2021
Muy buen aporte amigo
July 02 2021
grep -c texto archivo conteo de lineas donde aparece texto. si se repite varias veces en la misma linea, solo cuenta una linea.