¿Qué es GREP en Linux y cómo se usa?

Grep es un pequeño programa de Unix para encontrar patrones coincidentes. Iniciado como un programa Unix, se puede encontrar tanto en Linux como en Mac y BSD. Puede leer casi cualquier texto, lo que significa que puede leer las entradas de otros comandos, o puede abrir y revisar los archivos directamente. Grep es increíblemente útil, especialmente para mirar a través de directorios desde la línea de comandos.

Con eso, por qué no probar uno de los usos más comunes de Grep, encontrar un archivo en un directorio. Busque en su carpeta «~/Downloads» cualquier imagen «jpg».

ls ~/Downloads | grep .jpg

Grep los listará todos y resaltará la parte «.jpg» ya que es lo que buscaste.

Se canaliza la salida (con el comando «||») de casi cualquier comando a grep. Si tiene un archivo de texto plano por ahí, sáquelo y coloque el resultado en Grep para encontrar una palabra específica.

cat file.txt | grep word

Grep imprimirá cualquier línea en el archivo que contenga la palabra que le dijo que buscara.

Olvídese del caso

Los sistemas tipo Unix distinguen entre mayúsculas y minúsculas, lo que significa que «Ubuntu» es completamente diferente de «ubuntu». Eso puede ser un dolor al buscar algo. Grep tiene una bandera para eliminar el problema. Añada la bandera -i a su búsqueda, y Grep ignorará el caso.

ls ~/Downloads | grep -i Ubuntu

Buscar en un archivo

No sería tan conveniente necesitar cat cada vez que se quiera buscar un archivo. En realidad, no lo sabes. Grep puede buscar en los propios archivos. Pásale la ruta al archivo, y Grep hará el resto.

grep -i word /path/to/file.txt

Búsquedas recurrentes

Grep puede buscar en más de un archivo o directorio al mismo tiempo. Tenga en cuenta que si está buscando nombres de archivo, Grep también buscará en los archivos de forma predeterminada. La bandera -r le dice a Grep que busque recursivamente.

ls ~/Downloads | grep -r .deb

También puedes emparejar esto con otras banderas. Puede incluir el indicador -I al realizar búsquedas recursivas para evitar que Grep busque en archivos binarios.

ls ~/Downloads | grep -iIr .deb

Buscar lo opuesto

También puede decirle a Grep que busque todo que no que contenga el patrón especificado. Esto sería bueno en los casos en los que usted necesita encontrar un error o tiene un directorio con un montón de archivos de uno o dos tipos.

grep -rv '192.168.1.110' /etc/nginx

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

Palabras y líneas

También puede ser útil decirle a Grep que busque palabras o líneas completas, en lugar de cualquier cosa que contenga un determinado patrón. Imagínese que está buscando una cadena de caracteres que es común como parte de una palabra, pero necesita que esté separada. Por ejemplo, la palabra «eso». Obviamente, no habría muchas veces que usted realmente quisiera buscar un patrón como «it», pero esto prueba el punto.

cat textfile.txt | grep -w it

En lugar de imprimir cada palabra que contiene el patrón, Grep sólo imprimirá la palabra por sí misma. Hace lo mismo para líneas enteras con el indicador -x, así que si está buscando una frase o una sola línea en un archivo de configuración, eso realmente puede ayudar.

Si está interesado en investigar todo lo que puede hacer Grep, ejecute man grep en un terminal para obtener la documentación completa. Este artículo cubre lo básico y todo lo que normalmente se necesita de esta poderosa herramienta. Comparta con nosotros si conoce algún uso potente del comando Grep.

Crédito de la imagen: Puntos de interés del script Shell a las coordenadas

Rate this post

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *