Publica tu how-to

Dinos como hacer lo que sabes hacer, mándanos un email a wdonet@gmail.com y lo publicamos (dos días máximo) o si te interesa unirte al equipo de redactores, también háznoslo saber por correo.

Usos de comando grep

El comando grep te ayuda a buscar un archivo, grupo de archivos, directorios o contenido de archivos mediante un patrón que puede ser una palabra, letra o una expresión regular.
La forma básica de este comando es como abajo se indica, donde lo encerrado entre comillas es la cadena a buscar y archivo.txt es el archivo dentro del cual se desea buscar.

grep "cadena a buscar" archivo.txt

Sin embargo, el comando grep tiene muchas más formas de ser mejor aprovechado y aquí listo algunas de ellas:
  • Para una búsqueda insensible a mayúsculas / minúsculas
grep -i "cadena a buscar" archivo.txt
  • La cadena a buscar puede ser también una expresión regular donde se pueden aprovechar los siguientes caracteres para significados especiales
    • ? - indica que el elemento anterior es opcional y puede aparecer al menos 1 vez
    • * - indica que el elemento anterior puede aparecer 0 o más veces
    • + - indica que el elemento anterior puede aparecer 1 o más veces
    • {n} - indica que el elemento anterior debe aparecer exactamente n veces
    • {n,} - indica que el elemento anterior puede aparecer n o más veces
    • {,m} - indica que el elemento anterior debe aparecer al menos m veces
    • {n,m} - indica que el elemento anterior debe aparecer al menos n veces, pero no más de m.
grep "expresión regular" archivo.txtgrep "^ini*fin$" archivo.txt - que las líneas empiecen con 'ini' y terminen con 'fin'.grep "maestr[a|o]" archivo.txt - que las líneas contengan la palabra maestro o maestra.
  • Buscar por palabras, en este caso "algo" o "ALGO" o "AlGo" o "aLGo" o demás combinaciones que se te ocurran entre mayúsculas y minúsculas.
grep -iw "algo" archivo.txt
  • Para buscar recursivamente en un directorio dado
grep -r "cadena a buscar" directorio
  • Para mostrar el número de línea donde se encontraron las coincidencias
grep -n "cadena a buscar" archivo.txt
  • Para invertir la búsqueda y mostrar aquellas líneas que no empatan con el patrón
grep -v "cadena a buscar" archivo.txt
  • Para incluir varios patrones de búsqueda
grep -e "cadena 1 a buscar" -e "cadena 2 a buscar" archivo.txtgrep -v -e "cadena 1 a buscar" -e "cadena 2 a buscar" archivo.txt
  • Para contabilizar el total de empates encontrados en la búsqueda
grep -c "cadena a buscar" archivo.txt
  • Para listar archivos que empaten con el patrón
grep -l "cadena a buscar" directorio/*
  • mostrar sólo la cadena de cada línea que empató (con -o) y el número de línea que empató (con -b). En este ejemplo, el asterisco que incluye el patrón sirve para empatar aquellas cadenas que empiezan con 'cadena ', le siga cualquier cosa (espacios, puntos, demás letras, nada, números, etc.) y luego le siga la cadena ' a buscar'.
grep -o -b "cadena * a buscar" archivo.txt

1 comentario:

  1. Con "grep", mas "cut", "sort", "sed" y "uniq" se puede hacer casi cualquier cosa en cuanto a tratamiento de textos se refiere.
    JAG - Barquisimeto, Lara, Venezuela.

    ResponderEliminar

Que opinas sobre esta publicación?