1.10.2.- Uso de grep

El comando grep es muy útil. Busca los ficheros que contiene la cadena especificada y devuelve el nombre del fichero y (si se trata de un fichero de texto) una línea de contexto para dicha cadena. La sintaxis básica de grep es la siguiente:

grep [opciones] regexp [ficheros]

Aquí, regexp es una expresión regular de las que acabamos de describir. el comando grep admite un gran número de opciones. Algunas de las más comunes le permiten modificar el modo en el que el programa busca los ficheros:

  • Contar las líneas coincidentes.- en lugar de mostrar líneas de contexto, grep muestra el número de líneas que coinciden con el patrón especificado si utiliza las opciones -c o --count.ejemplo_grep
  • Especificar un fichero de entrada como patrón.- Las opciones -f fichero o --file=fichero reciben un fichero de entrada como patrón, en vez de tomarlo de la línea de comandos.Ejemplo_grep2
  • Ignorar mayúsculas y minúsculas.- Puede realizar una búsqueda que no distinga entre mayúsculas y minúsculas en lugar de la búsqueda por defecto empleando las opciones -i o --ignore-case.Ejemplo_grep3
  • Buscar recursivamente.- Las opciones -r o --recursive buscan en el directorio especificado y en todos los subdirectorios en lugar de buscar sólo en el directorio especificado. También puede utilizar grep en vez de especificar esta opción.Ejemplo_grep4
  • Utilizar una expresión regular extendida.- El comando grep interpreta por defecto regexp como una expresión regular básica. Para utilizar una expresión regular extendida, puede pasarle las opciones -E o -extended-regexp. Como alternativa, puede llamar a egrep en lugar de grep; esta variante del comando utiliza por defecto las extendidas.

Un sencillo ejemplo de grep que utiliza una expresión regular sin componentes especiales:

$ grep -r ~ /prueba/*

Este ejemplo localiza todos los ficheros de ~/prueba que contiene la cadena Pedro. Como el ejemplo incluye la opción -r, la búsqueda es recursiva, por lo que los ficheros de los subdirectorios de /prueba se examinan de igual modo que los de éste. Para cada fichero de texto coincidente se imprimirá  la línea que contenga la cadena. El carácter ~ es un atajo a nuestro directorio raiz de usuario equivale a (/home/NombreUsuario).

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s