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