Provided by:
manpages-es-extra_0.8a-17_all 
NOMBRE
grep, egrep, fgrep - muestran lineas que concuerdan con un patron
SINOPSIS
grep [-AB] num] [-CEFGVbchiLlnqsvwxyUu] [[-e ] patron | -f fichero]
[--extended-regexp] [--fixed-strings] [--basic-regexp]
[--regexp=PATRON] [--file=FICHERO] [--ignore-case] [--word-regexp]
[--line-regexp] [--line-regexp] [--no-messages] [--invert-match]
[--version] [--help] [--byte-offset] [--line-number] [--with-filename]
[--no-filename] [--quiet] [--silent] [--files-without-match] [--files-
with-matcces] [--count] [--before-context=NUM] [--after-context=NUM]
[--context] [--binary] [--unix-byte-offsets] ficheros...
DESCRIPCI'ON
Grep busca en la entrada, bien en la que se le especifica con nombres
de ficheros o bien en la entrada estandar si no se le dan dichos
nombres o si uno de estos consiste en -, lineas que concuerden o
coincidan con el patr'on dado. Si no se dice otra cosa, grep muestra
las lineas que concuerden.
Hay tres grandes variantes de grep, controladas por las siguientes
opciones:
-G, --basic-regexp
Interpreta patr'on como una expresion regular basica (vea mas
abajo). Este es el comportamiento predeterminado.
-E, --extended-regexp
Interpreta patr'on coma una expresion regular extendida (vea mas
adelante).
-F, --fixed-strings
Interpreta patr'on como una lista de cadenas de caracteres fijas,
separadas por saltos de linea; se busca la concordancia de una
cualquiera de ellas.
Ademas, estan disponibles dos programas que son variantes de este:
egrep y fgrep. egrep es similar (pero no identico) a grep -E, y es
compatible con el egrep historico de Unix. fgrep es lo mismo que
grep -F.
Todas las variantes de grep entienden las siguientes opciones:
-n'um Las lineas concordantes se mostraran acompanadas de n'um lineas
anteriores y posteriores. Sin embargo, grep nunca mostrara
cualquier linea dada mas de una vez.
-A n'um , --after-context=N'UM
Muestra n'um lineas de contexto despues de las que concuerden con
el patron.
-B n'um , --before-context=N'UM
Muestra n'um lineas de contexto antes de las que concuerden con
el patron.
-C, --context
Equivalente a -2.
-V, --version
Muestra el numero de version de grep en la salida estandar de
errores. Este numero de version deberia incluirse en todos los
informes de fallos (vea mas abajo).
-b, --byte-offset
Muestra el desplazamiento en bytes desde el principio del
fichero de entrada antes de cada linea de salida.
-c, --count
Suprime la salida normal; en su lugar muestra el numero de
lineas que concuerdan con el patron para cada fichero de
entrada. Con la opcion -v, --invert-match (vea mas abajo),
muestra el numero de lineas que no concuerden.
-e patr'on,--regexp=PATR'ON
Emplea patr'on como el patron; util para proteger patrones que
comiencen con -.
-f fichero,--file=FICHERO
Obtiene el patron de fichero.
-h, --no-filename
Suprime la impresion de los nombres de ficheros antes de las
lineas concordantes en la salida, cuando se busca en varios
ficheros.
-i, --ignore-case
No hace caso de si las letras son mayusculas o minusculas ni en
el patr'on ni en los ficheros de entrada.
-L, --files-without-match
Suprime la salida normal; en su lugar muestra el nombre de cada
fichero de entrada donde no se encuentre ninguna concordancia y
por lo tanto de cada fichero que no produciria ninguna salida.
La busqueda se detendra al llegar a la primera concordancia.
-l, --files-with-matches
Suprime la salida normal; en su lugar muestra el nombre de cada
fichero de entrada que produciria alguna salida. La busqueda se
detendra en la primera concordancia.
-n, --line-number
Prefija cada linea de salida con el numero de linea de su
fichero de entrada correspondiente.
-q, --quiet
Silencioso; suprime la salida normal. La busqueda finaliza en la
primera concordancia.
-s, --silent
Suprime los mensajes de error sobre ficheros que no existen o no
se pueden leer.
-v, --invert-match
Invierte el sentido de la concordancia, para seleccionar las
lineas donde no las hay.
-w, --word-regexp
Selecciona solamente aquellas lineas que contienen concordancias
que forman palabras completas. La comprobacion consiste en que
la cadena de caracteres concordante debe estar al principio de
la linea o precedida por un caracter que no forme parte de una
palabra. De forma similar, debe estar o al final de la linea o
ser seguida por un caracter no constituyente de palabra. Los
caracteres que se consideran como parte de palabras son letras,
digitos y el subrayado.
-x, --line-regexp
Selecciona solamente aquellas concordancias que constan de toda
la linea.
-y Sinonimo obsoleto de -i.
-U, --binary
Trata el(los) fichero(s) como binario(s). De forma
predeterminada, bajo MS-DOS y MS-Windows, grep intenta adivinar
el tipo del fichero mirando los contenidos de los primeros 32 kB
leidos de el. Si grep decide que el fichero es de texto, quita
los caracteres CR (retorno de carro) de los contenidos
originales del fichero (para que las expresiones regulares con ^
y $ funcionen correctamente). Al especificar -U deshabilitamos
este intento de adivinacion del tipo del fichero, haciendo que
todos se lean y pasen al mecanismo de concordancia tal cuales;
si el fichero lo es de texto y tiene al final de cada linea el
par de caracteres CR/LF, esto hara que algunas expresiones
regulares fallen. Esta opcion solo tiene sentido en MS-DOS y MS-
Windows.
-u, --unix-byte-offsets
Informa de desplazamientos de bytes al estilo de Unix. Esta
opcion hace que grep muestre los desplazamientos de bytes como
si el fichero fuera de texto al estilo de Unix; o sea, sin los
caracteres CR al final de cada linea. Esto producira resultados
identicos a ejecutar grep en un sistema Unix. Esta opcion no
tiene efecto a menos que se de tambien la opcion -b; solo tiene
sentido en MS-DOS y MS-Windows.
EXPRESIONES REGULARES
Una expresion regular es un patron que describe un conjunto de cadenas
de caracteres. Las expresiones regulares se construyen de forma analoga
a las expresiones aritmeticas, combinando expresiones mas pequenas
mediante ciertos operadores para formar expresiones complejas.
El programa grep entiende dos versiones diferentes de sintaxis para las
expresiones regulares: la ``basica'' y la ``extendida''. En la version
de grep de GNU, no hay diferencia en usar una u otra en cuanto a la
funcionalidad disponible. En otras implementaciones, las expresiones
regulares basicas son menos potentes. La siguiente descripcion se
aplica a expresiones regulares extendidas; las diferencias con las
basicas se resumen a continuacion.
Los bloques de construccion fundamentales son las expresiones regulares
que concuerdan con un solo caracter. La mayoria de los caracteres,
incluyendo todas las letras y digitos, son expresiones regulares que
concuerdan consigo mismos. Cualquier meta-caracter con un significado
especial debe ser protegido precediendolo con una barra inclinada
inversa.
Una lista de caracteres rodeados por [ y ] concuerda con cualquier
caracter de esa lista; si el primer caracter de la lista es el acento
circunflejo ^ entonces concuerda con cualquier caracter de fuera de la
lista. Por ejemplo, la expresion regular [0123456789] concuerda con
cualquier caracter digito. Se puede especificar un rango de caracteres
ASCII dando el primero y el ultimo, separados por un guion.
Finalmente, estan predefinidas ciertas clases de caracteres, con un
nombre para cada una. Estos nombres son auto-explicativos, y son
[:alnum:], [:alpha:], [:cntrl:], [:digit:], [:graph:], [:lower:],
[:print:], [:punct:], [:space:], [:upper:], y [:xdigit:]. Por ejemplo,
[[:alnum:]] significa (en ingles) [0-9A-Za-z], salvo que la ultima
forma depende de que la codificacion de caracteres siga el estandar
ISO-646 o ASCII, mientras que la primera es transportable. (Observe
que los corchetes en estos nombres de clases son parte de los nombres
simbolicos, y deben incluirse ademas de los corchetes que delimitan la
lista entre corchetes.) La mayor parte de los meta-caracteres pierden
su significado especial dentro de estas listas. Para incluir un ]
literal, pongalo el primero de la lista. De forma similar, para incluir
un ^ literal, pongalo en cualquier sitio menos el primero. Finalmente,
para incluir un - literal, pongalo el ultimo.
El punto . concuerda con cualquier caracter solo. El simbolo \w es un
sinonimo de [[:alnum:]] y \W lo es de [^[:alnum]].
El acento circunflejo ^ y el signo del dolar (y del escudo portugues) $
son meta-caracteres que respectivamente concuerdan con la cadena vacia
al comienzo y al final de una linea. Los simbolos \< y \>
respectivamente concuerdan con la cadena vacia al principio y al final
de una palabra. El simbolo \b concuerda con la cadena vacia al borde
de una palabra, y \B concuerda con la cadena vacia supuesto que no este
en el extremo de una palabra.
Una expresion regular que concuerde con un solo caracter puede ser
seguida por uno de estos varios operadores de repeticion:
? El elemento precedente es opcional y concuerda como mucho una
vez.
* El elemento precedente concordara cero o mas veces.
+ El elemento precedente concordara una o mas veces.
{n} El elemento precedente concuerda exactamente n veces.
{n,} El elemento precedente concuerda n o mas veces.
{,m} El elemento precedente es opcional y concuerda como mucho m
veces.
{n,m} El elemento precedente concuerda como poco n veces, pero no mas
de m veces.
Dos expresiones regulares pueden concatenarse; la expresion regular
resultante concuerda con cualquier cadena formada mediante la
concatenacion de dos subcadenas que concuerdan respectivamente con las
subexpresiones concatenadas.
Dos expresiones regulares pueden juntarse mediante el operador infijo
|; la expresion regular resultante concuerda con cualquier cadena que
concuerde con cualquiera de las subexpresiones.
La repeticion tiene precedencia sobre la concatenacion, la cual a su
vez tiene precedencia sobre la alternancia. Una subexpresion entera
puede ser encerrada entre parentesis para subvertir estas reglas de
precedencia.
La retrorreferencia \n, donde n es un digito simple, concuerda con la
subcadena que previamente concordo con la n-sima subexpresion entre
parentesis de la expresion regular.
En las expresiones regulares basicas, los meta-caracteres ?, +, {, |,
(, y ) pierden su significado especial; en su lugar emplee las
versiones protegidas mediante la barra inversa \?, \+, \{, \|, \(, y
\).
En egrep, el meta-caracter { pierde su significado especial; en su
lugar emplee \{.
DIAGN'OSTICOS
Normalmente, el status de salida es 0 si se encuentran concordancias, y
1 si no se encuentran. (La opcion -v invierte el sentido del status de
salida.) El status de salida es 2 si habia errores de sintaxis en el
patron, si los ficheros de entrada eran inaccesibles, o en caso de
otros errores del sistema.
FALLOS
Envie informes sobre fallos por correo electronico a la direccion bug-
gnu-utils@prep.ai.mit.edu. Asegurese de incluir la palabra ``grep'' en
algun sitio del campo ``Asunto:'' (``Subject:'').
Numeros de repeticion grandes en la construccion {m,n} pueden hacer que
grep emplee grandes cantidades de memoria. En adicion a esto, ciertas
otras obscuras expresiones regulares requieren tiempo y espacio
exponenciales, y pueden hacer que grep se quede sin memoria.
Las retrorreferencias son muy lentas, y pueden requerir un tiempo
exponencial.