12 ejemplos prácticos del comando grep

grep es un utilitario (basado en líneas de comandos) que permite realizar búsquedas de palabras y/o patrones en un fichero o grupo de ficheros. Su nombre es tomado de «global regular expression print». Por defecto grep busca las líneas que coinciden y las imprime en la salida estándard

Sintaxis general

$ grep [opciones] patrón [fichero] ó
$ grep [opciones] -f fichero-que-contiene-los-patrones-de-búsqueda fichero

Opciones básicas:

  • -c: Cuenta el número de coincidencias
  • -E: Expresión regular extendida
  • -f: Obtiene el patrón o los patrones de búsqueda de un fichero (Uno por cada línea)
  • -i: Insensible a mayúsculas y minúsculas
  • -l: Imprime el nombre de cada fichero de entrada donde se encuentren coincidencias
  • -n: Imprime el número de línea en donde se encuentren coincidencias
  • -o: Imprime sólo la parte que coincide
  • -v: Invierte el sentido de la búsqueda

Extensiones GNU:

  • –color: Resalta la palabra que coincide con el color especificado en la variable de entorno GREP_COLOR, rojo por defecto
  • -r,-R: Busca coincidencias en todos los ficheros que se encuentran debajo de un directorio, incluyendo los subdirectorios

Nota: No se abordan todas las opciones

A partir del fichero (frutas.txt), el cuál contiene las siguientes líneas:

La Manzana es una fruta pomácea comestible obtenida del manzano doméstico
La ManZana es una de las frutas más cultivadas del mundo
La manzana puede comerse fresca pelada o con piel
MANZANA Cameo
Mango
Mamey
Güayaba
Pera

Se elaboró los siguientes ejemplos:

1. Sensible a mayúsculas y minúsculas

$ grep manzana frutas.txt
La manzana puede comerse fresca pelada o con piel

2. Insensible a mayúsculas y minúsculas

$ grep -i manzana frutas.txt
La Manzana es una fruta pomácea comestible obtenida del manzano doméstico
La ManZana es una de las frutas más cultivadas del mundo
La manzana puede comerse fresca pelada o con piel
MANZANA Cameo

3. Contar el número de coincidencias (Sensible a mayúsculas y minúsculas)

$ grep -c manzana frutas.txt
1

4. Contar el número de coincidencias (Insensible a mayúsculas y minúsculas)

$ grep -ci manzana frutas.txt
4

5. Prefijar número de línea

$ grep -n manzana frutas.txt
3:La manzana puede comerse fresca pelada o con piel

6. Sólo la parte que coincide (Sensible a mayúsculas y minúsculas)

$ grep -o manzana frutas.txt
manzana

7. Sólo la parte que coincide (Insensible a mayúsculas y minúsculas)

$ grep -io manzana frutas.txt
Manzana
ManZana
manzana
MANZANA

8. Encontrar las líneas que contienen manzana o Mamey

$ grep -E 'manzana|Mamey' frutas.txt
La manzana puede comerse fresca pelada o con piel
Mamey

9. Invertir la búsqueda (Sensible a mayúsculas y minúsculas)

$ grep -v manzana frutas.txt
La Manzana es una fruta pomácea comestible obtenida del manzano doméstico
La ManZana es una de las frutas más cultivadas del mundo
MANZANA Cameo
Mango
Mamey
Güayaba
Pera

10. Invertir la búsqueda (Insensible a mayúsculas y minúsculas)

$ grep -iv manzana frutas.txt
Mango
Mamey
Güayaba
Pera

11. Resaltar coincidencia

$ grep ana --color=always frutas.txt

higtlight

El color de resaltado puede cambiarse estableciendo la variable de entorno GREP_COLOR, ejemplo export GREP_COLOR=’1;32′

12. Búquedas recursiva

$ grep -lR estudiante proyectos/

El ejemplo anterior realiza una búsqueda recursiva dentro del DIR proyectos y encuentra/lista todos los todos los ficheros que contienen la palabra estudiante

Lecturas recomendadas

man grep ó info grep
grep en wikipedia

3 comentarios en “12 ejemplos prácticos del comando grep”

Deja un comentario

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.