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.
Combinar grep con otros comandos
Además de archivos y directorios, puedes filtrar datos de entrada de otro comando utilizando grep. Para ello, combínalos utilizando una tubería (|) de la siguiente forma:
command | grep pattern
En el fragmento, la tubería redirige la salida del primer comando a grep, filtrando el resultado en función de la palabra clave. Aquí tienes un ejemplo de uso real:
ls | grep '\.txt$'
El comando ls lista el contenido de tu directorio actual. A continuación, el comando grep filtra la salida, imprimiendo los archivos TXT dentro de la carpeta. Aquí tienes otro ejemplo:
ps aux | grep «nombre_proceso»
El comando ps aux lista todos los procesos en ejecución de tu sistema. Luego, la utilidad grep busca uno concreto de la lista basándose en su nombre.
Dependiendo de tu tarea, puedes combinar grep con otras herramientas. Los usuarios del alojamiento VPS de Hostinger que no estén seguros de qué utilidades utilizar pueden utilizar nuestro asistente de IA Kodee, para que les ayude a explicar y generar el comando completo.
Por ejemplo, pregunta a Kodee “Quiero listar todos los servicios de mi VPS Ubuntu y utilizar la utilidad grep para filtrar la salida, imprimiendo sólo los relacionados con NGINX. Genera el comando completo.”.
Entonces escribirá el comando apropiado para tu sistema y tus necesidades.
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.