Provided by: manpages-es-extra_0.8a-19_all bug

NOMBRE

       grep, egrep, fgrep - muestran líneas que concuerdan con un patrón

SINOPSIS

       grep [-AB] núm] [-CEFGVbchiLlnqsvwxyUu] [[-e ] patrón | -f fichero] [--extended-regexp] [--fixed-strings]
       [--basic-regexp]   [--regexp=PATRÓN]  [--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ÓN

       Grep  busca  en  la entrada, bien en la que se le especifica con nombres de ficheros o bien en la entrada
       estándar si no se le dan dichos nombres o si uno  de  éstos  consiste  en  -,  líneas  que  concuerden  o
       coincidan con el patrón dado.  Si no se dice otra cosa, grep muestra las líneas que concuerden.

       Hay tres grandes variantes de grep, controladas por las siguientes opciones:
       -G, --basic-regexp
              Interpreta  patrón  como  una  expresión regular básica (vea más abajo). Éste es el comportamiento
              predeterminado.
       -E, --extended-regexp
              Interpreta patrón coma una expresión regular extendida (vea más adelante).
       -F, --fixed-strings
              Interpreta patrón como una lista de cadenas de caracteres fijas, separadas por saltos de línea; se
              busca la concordancia de una cualquiera de ellas.
       Además, están disponibles dos programas que son variantes de éste: egrep y fgrep.  egrep es similar (pero
       no idéntico) a grep -E, y es compatible con el egrep histórico de Unix.  fgrep es lo mismo que grep -F.

       Todas las variantes de grep entienden las siguientes opciones:
       -núm   Las líneas concordantes se mostrarán acompañadas de  núm  líneas  anteriores  y  posteriores.  Sin
              embargo, grep nunca mostrará cualquier línea dada más de una vez.
       -A  núm , --after-context=NÚM
              Muestra núm líneas de contexto después de las que concuerden con el patrón.
       -B  núm , --before-context=NÚM
              Muestra núm líneas de contexto antes de las que concuerden con el patrón.
       -C, --context
              Equivalente a -2.
       -V, --version
              Muestra  el  número  de  versión  de grep en la salida estándar de errores. Este número de versión
              debería incluirse en todos los informes de fallos (vea más abajo).
       -b, --byte-offset
              Muestra el desplazamiento en bytes desde el principio del fichero de entrada antes de  cada  línea
              de salida.
       -c, --count
              Suprime  la  salida  normal;  en su lugar muestra el número de líneas que concuerdan con el patrón
              para cada fichero de entrada.  Con la opción -v, --invert-match (vea más abajo), muestra el número
              de líneas que no concuerden.
       -e patrón,--regexp=PATRÓN
              Emplea patrón como el patrón; útil para proteger patrones que comiencen con -.
       -f fichero,--file=FICHERO
              Obtiene el patrón de fichero.
       -h, --no-filename
              Suprime la impresión de los nombres de ficheros antes de las líneas  concordantes  en  la  salida,
              cuando se busca en varios ficheros.
       -i, --ignore-case
              No  hace  caso  de si las letras son mayúsculas o minúsculas ni en el patrón 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 produciría ninguna salida. La
              búsqueda se detendrá 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 produciría
              alguna salida. La búsqueda se detendrá en la primera concordancia.
       -n, --line-number
              Prefija cada línea de salida con el número de línea de su fichero de entrada correspondiente.
       -q, --quiet
              Silencioso; suprime la salida normal. La búsqueda 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 líneas donde no las hay.
       -w, --word-regexp
              Selecciona solamente aquellas líneas que contienen concordancias que forman palabras completas. La
              comprobación consiste en que la cadena de caracteres concordante debe estar  al  principio  de  la
              línea  o precedida por un carácter que no forme parte de una palabra. De forma similar, debe estar
              o al final de la línea o ser seguida por un carácter no constituyente de palabra.  Los  caracteres
              que se consideran como parte de palabras son letras, dígitos y el subrayado.
       -x, --line-regexp
              Selecciona solamente aquellas concordancias que constan de toda la línea.
       -y     Sinónimo 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 leídos de él. 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 adivinación 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 línea el par de caracteres CR/LF, esto hará que algunas expresiones
              regulares fallen. Esta opción sólo tiene sentido en MS-DOS y MS-Windows.
       -u, --unix-byte-offsets
              Informa de desplazamientos de bytes al estilo de Unix. Esta  opción  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 línea. Esto producirá resultados idénticos a ejecutar  grep  en  un
              sistema  Unix.  Esta  opción  no  tiene  efecto a menos que se dé también la opción -b; sólo tiene
              sentido en MS-DOS y MS-Windows.

EXPRESIONES REGULARES

       Una expresión regular es un patrón que describe un conjunto de cadenas  de  caracteres.  Las  expresiones
       regulares  se  construyen  de  forma  análoga  a  las expresiones aritméticas, combinando expresiones más
       pequeñas mediante ciertos operadores para formar expresiones complejas.

       El programa grep entiende dos versiones  diferentes  de  sintaxis  para  las  expresiones  regulares:  la
       ``básica''  y  la  ``extendida''.  En  la versión de grep de GNU, no hay diferencia en usar una u otra en
       cuanto a la funcionalidad disponible. En otras implementaciones, las expresiones  regulares  básicas  son
       menos  potentes.  La  siguiente descripción se aplica a expresiones regulares extendidas; las diferencias
       con las básicas se resumen a continuación.

       Los bloques de construcción fundamentales son las  expresiones  regulares  que  concuerdan  con  un  solo
       carácter.  La mayoría de los caracteres, incluyendo todas las letras y dígitos, son expresiones regulares
       que concuerdan consigo mismos. Cualquier meta-carácter con un significado  especial  debe  ser  protegido
       precediéndolo con una barra inclinada inversa.

       Una  lista  de  caracteres rodeados por [ y ] concuerda con cualquier carácter de esa lista; si el primer
       carácter de la lista es el acento circunflejo ^ entonces concuerda con cualquier carácter de fuera de  la
       lista.   Por ejemplo, la expresión regular [0123456789] concuerda con cualquier carácter dígito. Se puede
       especificar un rango de caracteres  ASCII  dando  el  primero  y  el  último,  separados  por  un  guión.
       Finalmente,  están  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 inglés)  [0-9A-Za-
       z],  salvo  que  la  última forma depende de que la codificación de caracteres siga el estándar ISO-646 o
       ASCII, mientras que la primera es transportable.  (Observe que los corchetes en estos nombres  de  clases
       son  parte  de  los  nombres simbólicos, y deben incluirse además 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, póngalo el primero de la lista. De forma similar, para incluir un ^
       literal, póngalo en cualquier sitio menos el primero. Finalmente, para incluir un - literal,  póngalo  el
       último.

       El  punto  .  concuerda con cualquier carácter solo.  El símbolo \w es un sinónimo de [[:alnum:]] y \W lo
       es de [^[:alnum]].

       El acento circunflejo ^ y el signo  del  dólar  (y  del  escudo  portugués)  $  son  meta-caracteres  que
       respectivamente concuerdan con la cadena vacía al comienzo y al final de una línea.  Los símbolos \< y \>
       respectivamente  concuerdan  con  la  cadena vacía al principio y al final de una palabra.  El símbolo \b
       concuerda con la cadena vacía al borde de una palabra, y \B concuerda con la cadena vacía supuesto que no
       esté en el extremo de una palabra.

       Una expresión regular que concuerde con un solo carácter puede  ser  seguida  por  uno  de  estos  varios
       operadores de repetición:
       ?      El elemento precedente es opcional y concuerda como mucho una vez.
       *      El elemento precedente concordará cero o más veces.
       +      El elemento precedente concordará una o más veces.
       {n}    El elemento precedente concuerda exactamente n veces.
       {n,}   El elemento precedente concuerda n o más 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 más de m veces.

       Dos  expresiones  regulares  pueden concatenarse; la expresión regular resultante concuerda con cualquier
       cadena formada mediante la concatenación  de  dos  subcadenas  que  concuerdan  respectivamente  con  las
       subexpresiones concatenadas.

       Dos  expresiones regulares pueden juntarse mediante el operador infijo |; la expresión regular resultante
       concuerda con cualquier cadena que concuerde con cualquiera de las subexpresiones.

       La repetición tiene precedencia sobre la concatenación, la cual a  su  vez  tiene  precedencia  sobre  la
       alternancia.  Una subexpresión entera puede ser encerrada entre paréntesis para subvertir estas reglas de
       precedencia.

       La retrorreferencia \n, donde n es un dígito simple, concuerda con la subcadena que previamente  concordó
       con la n-sima subexpresión entre paréntesis de la expresión regular.

       En  las  expresiones  regulares  básicas,  los  meta-caracteres ?, +, {, |, (, y ) pierden su significado
       especial; en su lugar emplee las versiones protegidas mediante la barra inversa \?, \+, \{, \|, \(, y \).

       En egrep, el meta-carácter { pierde su significado especial; en su lugar emplee \{.

DIAGNÓSTICOS

       Normalmente, el status de salida es 0 si se encuentran concordancias, y 1 si no se encuentran. (La opción
       -v invierte el sentido del status de salida.)  El status de salida es 2 si había errores de  sintaxis  en
       el patrón, si los ficheros de entrada eran inaccesibles, o en caso de otros errores del sistema.

FALLOS

       Envíe  informes  sobre  fallos  por  correo  electrónico  a  la  dirección bug-gnu-utils@prep.ai.mit.edu.
       Asegúrese de incluir la palabra ``grep'' en algún sitio del campo ``Asunto:'' (``Subject:'').

       Números de repetición grandes en la construcción {m,n} pueden hacer que grep emplee grandes cantidades de
       memoria.  En adición 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.

Proyecto GNU                                   10 Septiembre 1992                                        GREP(1)