Guía para principiantes de Grep

Hay un poco de sabiduría informática clásica que dice «Si tienes un problema y decides resolverlo con expresiones regulares, ahora tienes dos problemas». Esto, por supuesto, se debe a la percepción de que las expresiones regulares son una complicada mezcla de personajes mágicos y vudú. Las expresiones regulares pueden permitirle lograr una lógica de programa elegante y concisa rápida y fácilmente, pero sólo una vez que haya aprendido a entender cómo funcionan y por qué. Casi cualquier sistema Linux o Mac viene con una poderosa herramienta de llamada de herramienta regex grep y aprender grep es una tarea esencial para cualquier usuario avanzado o administrador del sistema. Hoy, exploraremos algunas de las cosas que puedes hacer con grep y cómo puede ser una de las herramientas más poderosas en tu arsenal de geek.

Cómo funciona

En resumen, el trabajo de grep es buscar a través de un bloque de entrada. Eso es bastante vago, así que es mejor describirlo con el ejemplo. Supongamos que tiene un archivo de texto llamado distros.txt que tiene una lista de distribuciones de Linux, como la siguiente.

Debian – Distribución de servidores estable

Ubuntu – Distro de escritorio basado originalmente en Debian
.
Kubuntu – Usa el escritorio KDE en lugar de Gnome

Fedora – Continuación del sistema de escritorio gratuito Red Hat

Gentoo – Un sistema Linux rápido y basado en código fuente para usuarios profesionales

SuSE – Linux comercial propiedad de Novell
.
Mint – Distribución derivada de Ubuntu con software adicional restringido

Grep puede ser usado para leer el texto y filtrarlo para mostrar sólo las partes que usted desea. Si desea ver sólo las líneas que contienen la palabra «Ubuntu», ejecute el siguiente comando:

grep Ubuntu distros.txt

Guía para principiantes de Grep


(Su versión de grep puede o no incluir resaltado de color como en el ejemplo anterior)

Sensibilidad de mayúsculas y minúsculas

Habrás notado que nuestra última búsqueda no ha devuelto a Kubuntu. A menos que se indique lo contrario, grep asumirá que has introducido tu expresión exactamente como querías, y esto se aplica a mayúsculas y minúsculas. Si busca «ubuntu» pero su archivo de texto contiene «Ubuntu», su búsqueda no encontrará nada. Para que la búsqueda no distinga entre mayúsculas y minúsculas, utilice el parámetro -i , como en

grep -i ubuntu distros.txt

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

Guía para principiantes de Grep


Palabra completa

En la búsqueda anterior, se incluyeron todas las variantes de mayúsculas de la palabra «Ubuntu». Incluía Kubuntu porque contiene la palabra que buscaste. Es posible que desee incluir sólo la versión estándar, no Kubuntu o Edubuntu, etc. Si ese es el caso, puede decirle a grep que haga coincidir toda la palabra sólo pasando la opción -w .

grep -i ubuntu distros.txt

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

Guía para principiantes de Grep


Exclusión

De la misma manera que puede usar grep para mostrar sólo las entradas que coinciden, también puede usarlo para mostrar todo PERO las entradas que coinciden. Para ampliar nuestras búsquedas anteriores, ahora podemos usar la opción -v para revertir nuestros resultados y sólo mostrar las líneas que no coinciden.

Guía para principiantes de Grep


Comodines

Grep tiene soporte completo para los comodines al hacer coincidir los patrones. Cuando utilice comodines y otros caracteres especiales, debe asegurarse de que su patrón de búsqueda está entre comillas, para que el intérprete de comandos de Linux no intente interpretarlos antes de que lo haga grep. Los comodines comunes incluyen * para grupos de caracteres y . para representar un solo carácter desconocido.

Guía para principiantes de Grep


Rangos

Si los comodines son un poco demasiado amplios para usted, puede especificar caracteres individuales o un rango para incluir en su búsqueda. Los caracteres entre corchetes se incluirán en su patrón de búsqueda. Por ejemplo, si tiene un archivo con una lista como

Punto 1 – manzanas

Punto 2 – Plátanos
Tema 3 – cocos
Punto 4 – Melocotones
Punto 5 – Uvas
Punto 6 – Albaricoque

Puede elegir un rango particular usando algo como

grep «Item[2-4]» items.txt>Itemas de texto

Grep es una herramienta inmensamente poderosa, y aprenderla a fondo puede dar sus frutos en todo tipo de formas. Entender grep también hace que sea mucho más sencillo pasar a otras potentes herramientas de consola como sed y awk. Entre estas tres herramientas, se puede hacer una cantidad asombrosa de magia de consola y script con mucho menos esfuerzo del que parece posible. Si eres un fan de grep, o te gustaría ver otras herramientas como sed y awk cubiertas aquí, por favor deja una nota en los comentarios.

Fuente: este post proviene de Vida Tecno, donde puedes consultar el contenido original.
¿Vulnera este post tus derechos? Pincha aquí.
Creado:
¿Qué te ha parecido esta idea?

Esta idea proviene de:

Y estas son sus últimas ideas publicadas:

Etiquetas: Linux

Recomendamos