grep, egrep, fgrep - rgrep - muestran líneas que concuerdan
con un patrón
grep [OPCIÓN...] PATRONES
[ARCHIVO...]
grep [OPCIÓN...] -e PATRONES ...
[ARCHIVO...]
grep [OPCIÓN...] -f ARCHIVO_PATRÓN
... [ARCHIVO...]
grep busca PATRONES en cada ARCHIVO.
PATRONES consistirá en uno o más patrones separados
entre sí por un salto de línea; grep mostrará
cada línea donde encuentre una concordancia con dicho patrón.
En general, deben entrecomillarse los patrones si se ejecut grep
dentro de otra orden de la shell.
Si definimos ARCHIVO como '-', se considerará
la entrada estándar. Si nose define ningún valor para
ARCHIVO, se hará una búsqueda recursiva del directorio
actual y no recursiva de la entrada estándar.
Debian también incluye las variantes egrep,
fgrep y rgrep. Estas equivalen a grep -E,
grep -F y grep -r respectivamente. Estas
variantes están obsoletas y únicamente se incluyen para
preservar la compatibilidad con versiones anteriores. Para preservar la
portabilidad, se recomienda evitarlas y usar la orden grep con las
opciones indicadas.
- --help
- Muestra una breve instrucción de uso y finaliza.
- -V, --version
- Muestra la versión de grep y termina.
- -E,
--extended-regexp
- Interpreta PATRONES como una expresión regular extendida
(vea más adelante).
- -F,
--fixed-strings
- Interpreta PATRONES como una cadena de texto, no como expresiones
regulares.
- -G,
--basic-regexp
- Interpreta PATRONES como una expresión regular básica
(vea más abajo). Éste es el comportamiento
predeterminado.
- -P,
--perl-regexp
- Interpreta PATRONES como un expresión regular de Perl
(PCRE). Esta opción aún es experimental si se combina con
-z (--vacío), grep -P puede emitir avisos
acerca de funciones no implementadas.
Gestión de las concordancias
- -e PATRONES,
--regexp=PATRONES
- Emplea PATRONES como patrones. Si se usa varias veces o se combina
con la opción -f (--file) la búsqueda se
realizará con todos los patrones dado. Esta opción es
útil para proteger un patrón que comience por '-'.
- -f ARCHIVO,
--file=ARCHIVO
- Obtiene el patrón de ARCHIVO, uno de cada línea. Si
se emplea esta opción varias veces o se combina con -e
(--regexp) realiza la búsqueda con todos los patrones que se
indiquen. Un archivo vacío contiene cero patrones y no
concordará con nada. Si ARCHIVO es -, tomará
los patrones desde la entrada estándar.
- -i,
--ignore-case
- No distingue entre mayúsculas y minúsculas tanto en los
patrones como en los datos de entrada, así que los caracteres que
sólo difieran en este aspecto resultarán en una
coincidencia.
- --no-ignore-case
- Distingue entre mayúsculas y minúsculas tanto en los
patrones como en los datos de entrada (comportamiento por defecto). Esta
opción es útil en el caso de emplearse en scripts de shell
donde se haya definido previamente la opción -i ya que ambas
opciones se anulan entre sí.
- -v,
--invert-match
- Invierte el sentido de la concordancia, seleccionando las líneas
que no concuerden.
- -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. No tiene efecto si también de define la opción
-x.
- -x,
--line-regexp
- Selecciona únicamente las línea que concuerden completa y
exactamente en su totalidad con el patrón. Equivaldría, en
el caso de una expresión regular, a definir el patrón entre
paréntesis comenzando con ^ y finalizando con $.
Gestión general de la 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 archivo de
entrada. Con la opción -v, --invert-match,
contabiliza el número de líneas que no concuerdan.
- --color[=CUANDO],
--colour[=CUANDO]
- Rodea las cadenas concordantes (que no estén en blanco),
líneas concordantes, nombres de archivo, números de
línea, bytes de compensación y separadores (para los campos
y grupos de líneas contextuales) con secuencias de escape para
mostrarlas en distintos colores a través del terminal. Dichos
colores se definen a través de la variable de entorno
GREP_COLORS. Los colores se definen mediante las variables de
entorno . CUANDO puede tener tres valores diferentes: never
(nunca), always (siempre) o auto.
- -L,
--files-without-match
- Suprime la salida normal; en su lugar muestra el nombre de cada archivo de
entrada donde no se encuentre ninguna concordancia y por lo tanto de cada
fichero que no produciría ninguna salida.
- -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 de cada
entrada se detendrá en la primera concordancia.
- -m NÚM,
--max-count=NÚM
- Deja de leer un archivo al alcanzar la cantidad de NUM
líneas concordantes. Si NUM es cero, grep se detiene
de inmediato sin leer ninguna entrada. Si NUM es -1, se considera
como infinito y grep nunca se detiene; éste es el
comportamiento por defecto. Si la entrada es un archivo corriente y la
salida son las NUM líneas concordantes, grep
hará que el archivo de entrada quede posicionado justo
después de la última línea concordante sin importar
la existencia de alguna línea contextual posterior. Así, un
proceso posterior podrá continuar con la búsqueda. Cuando
grep se detiene después de encontrar NUM
líneas concordantes, mostrará sus líneas
contextuales. Si se usa la opción -c o --count, nunca
se mostrará un recuento superior a NUM. Con la opción
-v o --invert-match, la ejecución de grep se
detendrá una vez mostradas NUM líneas no
concordantes.
- -o,
--only-matching
- Muestra sólo la parte coincidente con el patrón de una
línea concordante, siempre que no sea una cadena vacía y
poniendo cada parte en una línea diferente.
- -q, --quiet,
--silent
- Mínima salida. No muestra nada en la salida estándar.
Termina con estado cero si encuentra alguna concordancia aunque detecte
algún error. Consulte también la opción -s o
--no-messages.
- -s,
--no-messages
- Suprime los mensajes de error sobre archivos que no existen o no se pueden
leer.
- -b,
--byte-offset
- Muestra el desplazamiento de bytes, comenzando en cero, dentro del archivo
de entrada antes de cada línea mostrada. Si se define -o
(-only-matching), muestra el desplazamiento de la parte
concordante.
- -H,
--with-filename
- Muestra el nombre del archivo donde se produjo la concordancia. Esto se
hará por defecto cuando se busque en más de un archivo. Es
una extensión de GNU.
- -h,
--no-filename
- No muestra los nombres de archivo antes de cada línea. Es el
comportamiento por defecto cuando se realiza la búsqueda en un solo
archivo o en la entrada estandar.
- --label=ETIQUETA
- Muestra la entrada provienente de la entrada estándar como entrada
proveniente del archivo LABEL. Esto puede ser útil para las
órdenes que transforman el contenido de un archivo antes de
realizar la búsqueda. Por ejemplo: gzip -cd foo.gz | grep
--label=foo -H 'algún patrón'. Consulte también
la opción -H.
- -n,
--line-number
- Antepone a cada línea mostrada el número de línea de
su archivo de entrada correspondiente comenzando por el 1.
- -T,
--initial-tab
- Se asegura que el primer carácter de la línea actual
esté en una tabulación, de modo que la
alíneación de las tabulaciones parezca normal. Esto es
útil con las opciones que anteponen su salida al contenido real:
-H, -n y -b. Para incrementar la probabilidad de que
todas las líneas de un mismo archivo comiencen en la misma columna,
también hace que el número de línea y el
desplazamiento de bytes (si existe) se impriman en un ancho de campo
mínimo.
- -Z, --null
- Muestra un byte cero (el carácter ASCII NUL) en lugar del
carácter que habitualmente seguiría al nombre de un archivo.
Por ejemplo: grep -lZ genera un byte cero después de cada
nombre de archivo en lugar del salto de línea habitual. Esta
opción hace que la salida no sea ambigua, incluso con nombres de
archivo que contengan caracteres poco usuales como saltos de línea.
Esta opción se puede usar con órdenes como find
-print0, perl -0, sort -z y xargs -0 para
procesar nombres de archivos arbitrarios, incluso aquellos que contienen
saltos de línea en su nombre.
Gestión de Líneas Contextuales
- -A NÚM,
--after-context=NÚM
- Imprime NUM líneas de contexto posterior después de
las líneas concordantes. Coloca una línea que contiene un
separador de grupo (--) entre grupos contiguos de coincordancias.
Con la opción -o o --only-matching, se emitirá
un mensaje de advertencia y no tendrá ningún efecto.
- -B NÚM,
--before-context=NÚM
- Imprime NUM cantidad de líneas de contexto respecto de la
concordante. Añade un separador (--) entre grupos de
concordancias. Si se emplea con la opción -o o
--only-matching, no tendrá ningún efecto y se
emitirá un aviso.
- -C NÚM,
-NÚM, --context=NÚM
- Muestra NUM líneas contextuales. Inserta una línea
con un separador (--) entre grupos contiguos de concordancias. Si
se usa la opción -o o --only-matching, se emite un
mensaje de advertencia y no tendrá ningún efecto.
- --group-separator=SEP
- Cuando se usen las opciones -A, -B o -C, emplea
SEP en lugar de -- entre los distintos grupos de
líneas.
- --no-group-separator
- Cuando se usen las opciones -A, -B o -C, no me
mostrará ningún separador entre líneas.
- -a, --text
- Procesa un archivo binario como si se tratase de texto. Equivale a la
opción --binary-files=text.
- --binary-files=TIPO
- Si los datos o metadatos de un archivo indican que su contenido es
binario, asume que dicho archivo es del tipo TIPO. Los bytes que no
codifican texto, indican que el contenido es binario; estos podrán
ser bytes incorrectamente codificados para la localización en uso o
bytes nulos si no se indicó la opción -z.
- Por defecto, TIPO se considera binary, con lo cual
grep elimina cualquier salida si se encuentra con datos binarios o
datos incorrectamente codificados. Cada vez que se elimina algo en la
salida, grep mostrará un mensaje en la salida de error
estándar informando de la concordancia con un archivo binario.
- Si TIPO es without-match, grep asumirá que no
hay concordancia alguna en el resto del archivo si se encuentra contenido
nulo binarios. Esto equivale a la opción -I.
- Si TIPO es texto, grep procesará un archivo
binario como si se tratase de texto. Equivale a la opción
-a.
- Cuando el tipo es binario, grep puede tratar los
bytes no-textuales como terminadores de línea incluso sin la
opción -z. Esto significa que elegir binario frente a
texto puede afectar si un patrón coincide con un archivo.
Por ejemplo, cuando tipo es binario, el patrón q$
podría coincidir con q seguido inmediatamente de un byte
nulo, aunque esto no concorde cuando el tipo es texto. Por
el contrario, cuando el tipo es binario, el patrón
. (punto) puede no coincidir con un byte nulo.
- AVISO: La opción -a puede mostrar contenido binario
sin sentido lo que puede tener efectos adversos si dicho contenido se
muestra a través de un terminal y éste interpreta que son
órdenes. Por otra parte, esta opción es útil a la
hora de leer archivos cuya codificación se desconoce
(también definir LC_ALL='C') porque así se pueden
encontrar más concordancias aunque no sea seguro mostrarlas
directamente.
- -D ACCIÓN,
--devices=ACCIÓN
- emplea ACCIÓN para procesar un archivo de entrada si es un
dispositivo, un FIFO o un socket. Por defecto, ACCIÓN
será read por lo que estos dispositivos, serán
leído como un archivo corriente. Si ACCIÓN es
skip, los dispositivos serán descartados sin ningún
aviso.
- -d ACCIÓN,
--directories=ACCIÓN
- Emplea ACCIÓN para procesar el archivo de entrada si
éste es un directorio. Por defecto, esta ACCIÓN es
read (leer), esto es que leerá directorios tal como si
fuesen archivos. Si ACCIÓN es skip, se saltará
los directorios sin emitir ningún mensaje. Por último, si
ACCIÓN es recurse, leerá de forma recusiva
todos los archivos que se encuentren dentro de cada directorio siguiendo
los enlaces simbólicos sólo si se indican en la línea
de órdenes. Esto equivaldría a definir la opción
-r.
- --exclude=GLOB
- Omite cualquier archivo de línea de órdenes con una
extensión que coincida con el patrón GLOB, utilizando
la concordancia de comodines; una extesnión de nombre es el nombre
completo o una parte final que comienza con un carácter que no es
una barra inmediatamente después de una barra (/) en el
nombre. Cuando realice una búsqueda recursiva, omita cualquier
subarchivo cuyo nombre base coincida con GLOB; el nombre base es la
parte después de la última barra. Un patrón puede
usar *, ? y [...] como comodines, y \
para citar un comodín o carácter de barra invertida
literalmente.
- --exclude-from=ARCHIVO
- Ignora archivos cuya base del nombre coincida con alguna de las
expresiones contenidas en ARCHIVO (empleando concordancias tal como
se describió en --exclude).
- --exclude-dir=GLOB
- Salta cualquier directorio cuyo sufijo concuerde con el patrón
GLOB. Cuando se hace una búsqueda recursiva, saltará
cualquier subdirectorio cuya base del nombre concuerde con GLOB. No
tiene en cuenta las barras al final de GLOB.
- -I
- Procesa un archivo binario como si no contuviese ninguna concordancia.
Equivale a la opción --binary-files=without-match.
- --include=GLOB
- Busque solo archivos cuyo nombre base coincida con GLOB (usando la
concordancia de comodines como se describe en --exclude). Si se dan
opciones contradictorias --include y --exclude,
prevalecerá la última que coincida. Si ninguna opción
--include o --exclude coincide, se incluye un archivo a
menos que la primera opción sea --include.
- -r,
--recursive
- Lee recursivamente todos los archivos dentro de cada directorio, sigue
enlaces simbólicos sólo si están en la línea
de órdenes. Observe que si no se indica ningún archivo,
grep buscará en el directorio actual. Equivale a la
opción -d recurse.
- -R,
--dereference-recursive
- Lee recursivamente todos los archivos dentro de cada directorio. Sigue
todos los enlaces simbólicos a diferencia de -r.
- --line-buffered
- Emplea el bufer de línea para la salida. Puede provocar un descenso
del rendimiento.
- -U, --binary
- Trata el(los) fichero(s) como binario(s). De forma predeterminada, en
MS-DOS y MS-Windows, grep intenta adivinar el tipo de archivo tal
como se describe para la opción --binary-files. 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 solo tiene sentido en
MS-DOS y MS-Windows.
- -z,
--null-data
- Considera los datos de entrada y salida como secuencias de líneas,
cada una terminada con un byte cero (el carácter ASCII NUL) en
lugar de una nueva línea. Al igual que la opción -Z o
--null, esta opción se puede usar con órdenes como
sort -z para procesar nombres de archivos arbitrarios.
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.
grep interpreta tres versiones diferentes de la sintaxis de
expresiones regulares: “básico” (BRE),
“extendido” (ERE) y “perl” (PCRE). En GNU
grep, las expresiones regulares básicas y extendidas son
simplemente notaciones diferentes parala misma funcionalidad de concordancia
de patrones. En otras implementaciones, las básicassuelen ser menos
potentes que las extendidas aunque a veces ocurre l contrario. Se aplica la
siguiente descripción a expresiones regulares extendidas; diferencias
para expresiones regulares básicas se resumen a continuación.
Las expresiones regulares de Perl tienen funcionalidades diferente, y
están documentadas en pcre2syntax(3) y pcre2pattern(3),
pero sólo funcionarán si está habilitada la
compatibilidad con PCRE.
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.
El punto . concuerda con un único carácter,
cualquiera que sea. No está definido el comportamiento si se topa con
un error de codificación.
Una expresión entre corchetes es una lista de
caracteres encerrados entre [ y ]. Coincide con cualquier
carácter de esa lista. Si el primer carácter de la lista es el
símbolo de intercalación ^, entonces coincide con
cualquier carácter que NO esté en la lista; no se
especifica si coincide con un error de codificación. Por ejemplo, la
expresión regular [0123456789] coincidirá con cualquier
dígito.
En el interior de una expresión entre corchetes, una
expresión de intervalo consta de dos caracteres separados por
un guión. Coincide con cualquier carácter individual que se
clasifique entre los dos caracteres, inclusive utilizando la secuencia de
clasificación y el conjunto de caracteres de la configuración
regional. Por ejemplo, en la configuración regional predeterminada de
C, [a-d] es equivalente a [abcd]. Muchas configuraciones
regionales clasifican los caracteres del mismo modo que se haría en
un diccionario y, en estas configuraciones regionales, [a-d]
normalmente no es equivalente a [abcd]; podría ser equivalente
a [aBbCcDd], por ejemplo. Para obtener la interpretación
tradicional de las expresiones entre corchetes, puede utilizar la
configuración regional C estableciendo la variable de entorno
LC_ALL en el valor C.
Ciertas clases de caracteres están predefinidas como de
expresiones entre corchetes, como se muestra a continuación. Sus
nombres se explican por sí mismos y son [:alnum:],
[:alpha:],[:blank:], [:cntrl:], [:digit:],
[:graph:], [:lower:], [:print:], [:punct:],
[:space:], [:upper:] y [:xdigit:]. Por ejemplo,
[[:alnum:]] hace referencia a los números y letras en la
configuración regional actual. En la configuración regional C
y la codificación del juego de caracteres ASCII, esto es lo mismo que
[0-9A-Za-z]. Tenga en cuenta que los corchetes en estos nombres de
clase son parte de los nombres simbólicos y deben incluirse
además de los corchetes que delimitan la expresión entre
corchetes. La mayoría de los metacaracteres pierden su significado
especial dentro de las expresiones entre corchetes. Para referirse a
], deberá ponerse en el primer lugar de la lista. De manera
similar, para incluir un literal ^ colóquelo en cualquier
lugar menos en el primero. Para incluir -, colóquelo al
final.
El símbolo de intercalación (caret en inglés)
^ y el dólar $ son metacaracteres que concuerdan
respectivamente con una cadena vacía al inicio y al final de una
línea.
Los símbolos \< y \> concuerdan con una
cadena vacía al inicio y al fina de una palabra, respetivamente. El
símbolo \b concuerda con una cadena vacía en los
extremos de una palabra y 0[u00E1] lo propio si dicha cadena
vacío NO está en los extremos de una palabra. El
símbolo \w es sinómino de
[_[:alnum:]] y \W lo es de
[^_[:alnum:]].
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 concuerda un máximo de m veces. Es
una extensión de GNU.
- {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 expresiones concatenadas.
Dos expresiones regulares pueden juntarse mediante el operador
|; la expresión regular resultante concuerda con cualquier
cadena que concuerde con cualquiera de las expresiones.
La repetición tiene precedencia sobre la
concatenación, la cual a su vez tiene precedencia sobre la
alternancia. Una expresión entera puede ser encerrada entre
paréntesis para subvertir estas reglas de precedencia.
La referencia inversa \n, donde n es un
único dígito, concordara con la subcadena previamente
concordante con la nésima subexpresión entre
paréntesis de la expresión regular.
En las expresiones regulares básicas, los metacaracteres
?, +, {, |, (, y ) pierden su
significado especial; en su lugar emplee las versiones protegidas mediante
la barra inversa \?, \+, \{, \|, \(, y
\).
El estado de salida suele ser 0 si se ha seleccinado alguna
línea, 1 si no se ha seleccionado ninguna y 2 si ha ocurrido
algún error. Sin embargo, si se indicó la opción
-q o --quiet o --silent el estado de salida será
cero aunque ocurriese algún error.
El comportamiento de grep está influido por las
siguientes variables de entorno.
La configuración regional para la categoría
LC_foo se establece en base a las tres variables de entorno
LC_ALL, LC_foo y LANG, en ese orden. La primera
de estas variables que esté definida, marcará la
configuración regional. Por ejemplo, si LC_ALL no está
definida, pero LC_MESSAGES sí lo está en pt_BR,
entonces se utiliza la configuración regional portuguesa
brasileña para la categoría LC_MESSAGES. La
configuración regional C se utilizará en el caso de que no
esté configurada ninguna de estas variables de entorno, si el
catálogo de configuración regional no está instalado o
si grep no se compiló con soporte de idioma nacional (NLS). La
orden locale -a enumera las configuraciones regionales que
están disponibles en un determinado equipo.
- GREP_COLORS
- Define cómo se resaltará el resultado con la opción
--color. Su valor es una lista de capacidades separadas entre si
por dos puntos que, por defecto, es
ms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36 con las
capacidades booleanas rv y ne omitidas (es decir, falsas).
Las capacidades admitidas son las siguientes.
- sl=
- Subcadena SGR para líneas seleccionadas completas (es decir,
líneas concordantes cuando se omite la opción -v, o
líneas que no concuerden cuando se especifica -v). Sin
embargo, si se especifican la capacidad booleana rv y la
opción -v, se aplicará a las líneas de
concordancia contextuales. No está definido ningún valor
predeterminado, por lo que se mostrará el par de colores
predeterminado del terminal.
- cx=
- Subcadena SGR para líneas contextuales completas (es decir,
líneas que no concuerdan cuando se omite la opción
-v, o líneas concordantes cuando se especifica -v).
Sin embargo, si se definen la capacidad booleana rv y la
opción -v, se aplicará a las líneas
seleccionadas que no concuerden. No está definido ningún
valor predeterminado por lo que se usará el par de colores
predeterminado del terminal.
- rv
- Valor booleano que invierte el significado de las capacidades sl= y
cx=cuando se define la opción -v. Por defecto es
falso, es decir que se omite la capacidad.
- mt=01;31
- Subcadena SGR para que concuerde cualquier text no nulo en cualquier
línea concordante (es decir, una línea seleccionada cuando
se omite la opción -v, o una línea de contexto cuando
se especifica -v). Establecer esto equivale a establecer ms=
y mc= a la vez y con el mismo valor. El valor predeterminado es un
texto rojo en negrita sobre el fondo que ya esté definido.
- ms=01;31
- Subcadena SGR para que concuerde cualquier texto no nulo en una
línea seleccionada. Esto solo se usa cuando se omite la
opción -v). El efecto de la capacidad sl= (o
cx= si rv) permanece activo cuando esto se activa. El valor
predeterminado es un texto rojo en negrita sobre el fondo ya
configurado.
- mc=01;31
- Subcadena SGR para que concuerde cualquier texto no nulo en una
línea contextual. Esto solo se usa cuando se define la
opción -v). El efecto de la capacidad cx= (o
sl= si rv) permanece activo cuando esto se activa. El valor
predeterminado es un texto rojo en negrita sobre el fondo ya
configurado.
- fn=35
- Subcadena SGR para nombres de archivos antepuestos a cualquier
línea de contenido. El valor predeterminado es un texto magenta
sobre el fondo predeterminado del terminal.
- ln=32
- Subcadena SGR para nombres de archivos antepuestos a cualquier
línea de contenido. El valor predeterminado es un texto magenta
sobre el fondo predeterminado del terminal.
- bn=32
- Subcadena SGR para desplazamientos de bytes antepuestos a cualquier
línea de contenido. El valor predeterminado es un texto verde sobre
el fondo predeterminado del terminal.
- se=36
- Subcadena SGR para separadores que se insertan entre campos de
línea seleccionados (:), entre campos de línea
contextuales (-) y entre grupos de líneas adyacentes cuando
se especifica un contexto distinto de cero (-- ). El valor
predeterminado es un texto cian sobre el fondo predeterminado del
terminal.
- ne
- Valor booleano que impide borrar hasta el final de la línea usando
Borrar en línea (EL) a la derecha (\33[K) cada vez que
finaliza un elemento coloreado. Esto es necesario en terminales en los que
EL no es compatible. Por lo demás, es útil en terminales
para los cuales no se aplica la capacidad booleana terminfo
back_color_erase (bce), cuando los colores de resaltado
elegidos no afectan el fondo, o cuando EL es demasiado lento o causa
demasiado parpadeo. El valor predeterminado es 'false', es decir que se
omite esta capacidad.
Tenga en cuenta que las capacidades booleanas no tienen parte
=.... Se omiten (es decir, son falsos) por defecto y pasan a ser
verdaderos cuando se definen.
Consulte la sección Seleccionar representación
gráfica (SGR por sus siglas en inglés) en la
documentación del terminal de texto que se utiliza para los valores
permitidos y su significado como atributos de caracteres. Estos valores de
subcadena son números enteros en representación decimal y
ueden concatenarse mediantes punto y comas. grep se encarga de unir
el resultado en una secuencia SGR completa (\33[...m). Los
valores habituales son: 1 para negrita, 4 para subrayado,
5 para parpadeo, 7 para inverso, 39 para color de
primer plano predeterminado, 30 a 37. para colores de primer
plano, 90 a 97 para colores de primer plano en modo de 16
colores, 38;5;0 a 38;5;255 para colores de primer plano en
modo de 88 y 256 colores , 49 para el color de fondo predeterminado,
40 a 47 para los colores de fondo, 100 a 107
para los colores de fondo del modo de 16 colores y 48;5;0 para
48;5;255 para colores de fondo en modos de 88 colores y 256
colores.
- LC_ALL,
LC_COLLATE, LANG
- Estas variables especifican la configuración regional para la
categoría LC_COLLATE, que determina el método de
clasificación empleado para interpretar expresiones de rango como
[a-z].
- LC_ALL,
LC_CTYPE, LANG
- Estas variables definen la configuración regional para la
categoría LC_CTYPE, que determina el tipo de caracteres, por
ejemplo, qué caracteres son espacios en blanco. Esta
categoría también determina la codificación de
caracteres, es decir, si el texto está codificado en UTF-8, ASCII o
alguna otra codificación. En la configuración regional C o
POSIX, todos los caracteres se codifican como un solo byte y cada byte es
un carácter válido.
- LC_ALL,
LC_MESSAGES, LANG
- Estas variables definen la configuración regional para la
categoría LC_MESSAGES, que determina el idioma que
grep usa para sus mensajes. Con la configuración regional
predeterminada 'C' se emitirán mensajes en inglés
americano.
- POSIXLY_CORRECT
- Si está definido, el funcionamiento de grep cumple con
POSIX; si no lo está, grep funciona de modo más
similar a otros programas GNU. POSIX requiere que las opciones que siguen
a los nombres de archivos se traten como nombres de archivos; De forma
predeterminada, dichas opciones se transladan al inicio de la lista de
operandos y se tratan como opciones. Además, POSIX requiere que las
opciones no reconocidas se traten como 'ilegales', pero como en realidad
no lo son, por defecto se tratan como 'inválidas'.
Esta página de manual no se mantienede forma rigurosa. La
documentación completa suele estar más actualizada.
Copyright 1998-2000, 2002, 2005-2023 Free Software Foundation,
Inc.
Esto es software libre; consulte el código fuente para
concoer las condiciones de distribución. NO existe garantía
alguna; ni siquiera acerca de la COMERCIALIZACIÓN o la IDONEIDAD DE
SU USO PARA UN FIN CONCRETO.
Envíe informes de error a bug-grep@gnu.org,
también puede consultar el archivo de la lista de correo en
https://lists.gnu.org/mailman/listinfo/bug-grep y el sistema de
seguimiento de errores:
https://debbugs.gnu.org/cgi/pkgreport.cgi?package=grep.
Números de repetición grandes en la
construcción {n,m} pueden hacer
que grep emplee grandes cantidades de memoria. En adición a
esto, ciertas otras oscuras expresiones regulares requieren tiempo y espacio
exponenciales, y pueden hacer que grep se quede sin memoria.
Las referencias inversas son muy lentas, y pueden requerir un
tiempo exponencial.
El siguiente ejemplo mostrará la ubicación y el
contenido de cualquier línea que contenga “f” y termine
en “.c”, dentro de todos los archivos en el directorio actual
cuyos nombres contengan “g” y terminen en “.h' '. La
opción -n genera números de línea, el argumento
-- trata las expansiones de “*g*.h” que comienzan con
“-” como nombres de archivos,en lugar de considerarlas
opciones, y el archivo /dev/null hace que se generen nombres de archivos
incluso si solo un nombre de archivo tiene la forma
“*g*.h”.
$ grep -n -- 'f.*\.c$' *g*.h /dev/null
argmatch.h:1:/* definiciones y prototipos para argmatch.c
La única línea que concuerda es la línea 1 de
argmatch.h. Tenga en cuenta que la sintaxis de expresión regular
utilizada en el patrón difiere de la sintaxis que utiliza la shell
para que concuerden los nombres de los archivos.
VÉASE TAMBIÉN
Páginas de Manual Genéricas
awk(1), cmp(1), diff(1), find(1),
perl(1), sed(1), sort(1), xargs(1),
read(2), pcre2(3), pcre2syntax(3),
pcre2pattern(3), terminfo(5), glob(7),
regex(7)
Está disponible un manual completo
⟨https://www.gnu.org/software/grep/manual/⟩ grep,la
orden
- info grep
debería mostrarle el manual completo.
La traducción al español de esta página del
manual fue creada por Gerardo Aburruzaga García
<gerardo.aburruzaga@uca.es> y Marcos Fouces
<marcos@debian.org>
Esta traducción es documentación libre; lea la GNU
General Public License Version 3
⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ o posterior con
respecto a las condiciones de copyright. No existe NINGUNA
RESPONSABILIDAD.
Si encuentra algún error en la traducción de esta
página del manual, envíe un correo electrónico a
⟨debian-l10n-spanish@lists.debian.org⟩.