Sei sulla pagina 1di 2

LECCION 5.1.

7 Busqueda de datos en un archivo de texto (grep)


El comando grep localiza una palabra, clave o frase en un conjunto de directorios, indicando en
cuáles de ellos la ha encontrado. Este comando rastrea fichero por fichero, por turno, imprimiendo aquellas
líneas que contienen el conjunto de caracteres buscado. Si el conjunto de caracteres a buscar está
compuesto por dos o más palabras separadas por un espacio, se colocará el conjunto de caracteres entre
apóstrofes ('). Su formato es el siguiente:
grep 'conjuntocaracteres' file1 file2 file3

siendo 'conjuntocaracteres' la secuencia de caracteres a buscar, y file1, file2, y file31 los ficheros
donde se debe buscar. Veamos un nuevo ejemplo:

grep 'TRIANGULARIZACION MATRIZ' matrix.f scaling.f

Este comando buscará TRIANGULARIZACION MATRIZ entre las líneas de los ficheros matrix.f y
scaling.f. Este comando permite seleccionar, entre todas las líneas de uno o más ficheros, aquellas que
contienen un motivo que satisface una expresión regular determinada.

grep [-opcion] expresión_regular [referencia...]

Las opciones principales son:

c lo único que se hace es escribir el número de las líneas que satisfacen la


condición.
i no se distinguen mayúsculas y minúsculas.
l se escriben los nombres de los ficheros que contienen líneas buscadas.
n cada línea es precedida por su número en el fichero.
s no se vuelcan los mensajes que indican que un fichero no se puede abrir.
v se muestran sólo las líneas que no satisfacen el criterio de selección.

A continuación se muestra una serie de ejemplos.

grep ‘ˆd’ text líneas que comienzan por d.

grep ‘ˆ[ˆd]’ text líneas que no comienzan por d.

grep -v ‘ˆC’ file1 > file2 quita las líneas de file1 que comienzan por C
y lo copia en file2.
Comando grep- Buscar en Archivos de Texto

El comando grep es usado para buscar en el contenido de archivos de texto. Sus siglas significan (glo-
bal regular expression print). El texto usado para especificar un patrón a grep es llamado una expresión
regular. Estos caracteres pueden ser normales, alfanuméricos o pueden ser caracteres especiales, para así poder
igualar varios patrones de texto. Brevemente cubriremos más sobre expresiones regulares. El coman- do grep
imprime todas las líneas que igualan el patrón especificado.

Todo usuario que desea adquirir niveles altos de eficiencia en GNU/Linux debe dominar el comando grep.

No podrá dominar todas sus opciones y características en una sola y única sessión, deberá dedicarle
varias horas de práctica para dominar tan importante herramienta. A medida que use el comando grep y
estudie sus páginas man y un buen tutorial, empezará a dominarlo y sentir lo poderoso que es realmente.
Usted puede usar el comando grep como un filtro especificándole solamente el patrón que usted desea
encontrar, o usted puede especificar el patrón y un archivo o un conjunto de archivos, para llevar a cabo la
búsqueda. Aquí le mostramos una lista de algunas de las opciones más usadas con el comando grep:

-v Imprime las líneas que no igualan en vez de las que sí lo hacen.


-c Imprime el número de líneas que igualan en vez de las líneas mismas
-i Indiferente a mayúsculas y minúsculas
-n Precede cada línea de salida con su número correspondiente

Aquí le mostramos un ejemplo usando grep conectado con una tuberia:

$ who | grep ttyp | cut -d’ ‘ -f1 ivelis


root

En éste ejemplo tomamos la salida del comando who y filtramos las líneas que no contienen el texto ttyp,
en pocas palabras, imprimimos las líneas que sí contienen la cadena de caracteres ttyp. Entonces emviamos
la salida al comando cut para imprimir solamente el primer campo separado por espacio, que es el campo de
los nombres de usuario. Note que el orden de los comandos es de extrema importancia; necesitamos efectuar
la búsqueda antes de cortar los campos, ya que eliminaríamos el campo que contiene la cadena “ttyp” que
grep necesita para elegir los campos correctos.

Potrebbero piacerti anche