Comando del día: Egrep 🔎

Vamo’ al grano!

Imaginemos que estamos en búsqueda de una palabra dentro de un fichero, por ejemplo, “syslog”, entonces, en vez del procedimiento rudimentario de aperturar el archivo, buscar a ojo y cansar la vista (en el mejor de los casos) o adivinar (no se recomienda este método), se aplica el uso de “grep” o “egrep” en modo super usuario dentro la terminal de nuestro Linux favorito.

Grep y Egrep

Sin embargo, su verdadera potencia reside en la posibilidad de combinarlo con otras herramientas de compresión como gzip o bzip2, creando archivos con extensiones comunes como .tar.gz o .tar.bz2. para un mejor entendimiento, se aplicarán pruebas.

Se requiere por obvio y clásico lo siguiente:

Sistema operativo Ubuntu/Debian o Linux de raíz 🐧

Café (infaltable) ☕️


Procedimiento

Buscar la palabra “error” en el archivo “syslog”:

Previamente, se debe conocer la estructura de los archivos en linux, en caso de desconocer este tema, toca estudiar.

#grep “palabra_a_buscar” fichero (estructura)

#grep “error” /var/log/syslog

Búsqueda de texto

Se observa que busca y halla todas las palabras que incluyan “error” dentro del fichero citado, sin embargo, se debe apreciar que “grep” hace distinción de mayúsculas y minúsculas en las búsquedas; para el mismo ejemplo, se cambiará “error” por “Error”:

-#grep “Error” /var/log/syslog

Nueva búsqueda de texto

También se podría utilizar el argumento “-i” para evitar diferencias entre mayúsculas y minúsculas con el siguiente resultado:

-#grep -i “error” /var/log/syslog

Bùsqueda sin diferenciar mayúsculas o minúsculas

Se observa que el resultado lleva ambas palabras “Error” y “error”.

A su vez, se podría excluir de una búsqueda la palabra clave; por razones de practicidad, se mostrará el resultado de una búsqueda de “Failed”:

-#grep -v “Failed” /var/log/syslog

Exclusión de búsqueda

Pero…se observa la palabra “failed” en el resultado, por tanto, con la ventaja de poder adjuntar argumentos del comando “grep”, se procederá a evitar la palabra “Failed” escrita de cualquier forma:

evasión de búsqueda de palabra

Ahora bien ¿que sucede en caso de buscar una palabra dentro de un fichero que este dentro de un directorio? pues llega el argumento “r” (recursivo) que facilita esta operación:

Búsqueda recursiva de texto en directorio

Como se observa, se obtiene el resultado en diversos directorios, empero, la limitación del comando es la utilización de una (sólo una) palabra; para una búsqueda “multipalabra” se utiliza la variación EGREP.

Como prueba, se intentarán buscar las palabras “error” y “warn” con “grep” y se observará el resultado que sólo implica a la primera cadena:

Pero, la misma búsqueda con el comando “egrep” sería:

-#egrep “error|warn” /var/log/syslog

Búsqueda de varias cadenas de texto con egrep

Por último, en necesidad de observar el número de línea donde se implica tal búsqueda, se utiliza el argumento “n” (utilizado en grep y egrep):

-#egrep -in “error|operating” /var/log/syslog

Identificación de número de línea de búsqueda

¡Y con esto terminamos!

Te agradezco enormemente el tiempo que has dedicado a leer esta entrada. Si te ha gustado, recuerda que puedes seguirme en mis redes sociales 📱 para no perderte las próximas publicaciones 📢

Hey! quieres más ejemplos y de forma interactiva de la herramienta? a que esperas! comenta mis redes 😎

¡Tu apoyo me motiva a seguir creando más contenido! 💪💻🚀