De vuelta a lo básico, parte 4 - usando grep en GNU/Linux

Una de las cosas realmente confusas para los usuarios que son nuevos en jugar con la línea de comandos puede ser intentar buscar con funciones. Una pequeña herramienta útil para ayudar con este proceso se llama grep, o "impresión de expresiones regulares globales", que buscará operadores regulares en todo lo que lleve y le mostrará coincidencias para lo que está buscando (si las hay).

Un ejemplo bastante simple de esto, antes de continuar, sería usar grep para buscar en la lista de procesos especificados por el comando ps aux para buscar una aplicación específica.

Índice

Grep en GNU/Linuxgrep spotify

ps auxiliar | grep spotify

Ejecutar este comando mientras estaba ejecutando Spotify me mostró que Spotify funciona como se muestra en la imagen a continuación. Puedes ver que Spotify tiene varios procesos en ejecución:

Esta es solo una de las formas en que grep puede ser extremadamente útil. Pero al profundizar un poco más, podemos agregar más opciones al grep para mejorar mucho más nuestra funcionalidad.

Los resultados del resaltado de color.

Digamos que queremos mirar en el documento para ver si hay una frase específica en este documento (tal vez quieras ver si está el número de teléfono de tu tía Mabel, phonenumbers.txt).

grep --color  "Mabel" phonenumbers.txt

Nota: En algunas distribuciones, el color está habilitado de forma predeterminada y no requiere su uso.

Este comando mostrará la línea correcta, por ejemplo, â € œTía mabel - 522-111-4321 con texto resaltado. Sin embargo, hay una pega en esta línea, y es que si tecleaba "mabel" con la M minúscula, no encontraría nada, suponiendo que dentro de phonenumbers.txt esté escrito "Tía Mabel".

Insensibilidad al registro

Para evitar posibles problemas como este, también podemos usar la opción -i, que significa "no distingue entre mayúsculas y minúsculas".

grep --color -i "mabel" números de teléfono.txt

Nuevamente, asumiendo que la palabra Mabel existe en el documento, la encontrará y la resaltará en esa línea, independientemente de si la palabra en el documento estaba en mayúsculas o no.

Aquí hay algunas otras opciones para usar grep:

  • grep "buscar texto" nombre de archivo - para buscar el archivo de la línea especificada.
  • grep "texto de búsqueda" file_pattern - para buscar múltiples archivos para la línea especificada
  • grep Nombre de archivo "Regex": para usar expresiones regulares para buscar el contenido de un archivo.
  • grep -r "texto de búsqueda" * - búsqueda recursiva de texto en todos los archivos.

Se pueden encontrar otras opciones en la página de manual de grep ingresando lo siguiente en la ventana de terminal para leer la guía de grep: man grep

También puede leer la documentación de grep en el sitio web de GNU.

Observaciones finales

Esta es solo la punta del iceberg de lo que puede hacer un grep, pero es un buen punto de partida para que los nuevos usuarios los ayuden a crecer una barba épica, crear su propio núcleo desde cero y convertirse en un poderoso gurú en el camino de la terminal.

Artículos de interés

Subir