GREP(1)

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

SINOPSIS
grep [OPCIÓN]... PATRONES [ARCHIVO]...
grep [OPCIÓN]... -e PATRONES ... [ARCHIVO]...
grep [OPCIÓN]... -f ARCHIVO_PATRONES ... [ARCHIVO]...

DESCRIPCIÓN
grep busca patrones en cada ARCHIVO. En la primera forma de la sinopsis, que se utiliza si no hay opciones -e o -f, el primer operando PATTERNS es uno o más patrones separados por caracteres de nueva línea, y grep imprime cada línea que coincide con un patrón. Normalmente, PATTERNS debe ir entre comillas cuando se utiliza grep en un comando de 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.

OPCIONES

  Información genérica de la aplicación

--help
    Muestra una breve instrucción de uso y finaliza.

-V, --version
    Muestra la versión de grep y termina.

  Sintaxis del patrón

-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.

  Muestra un prefijo de control en cada línea

-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 de la entrada estándar como entrada proveniente del archivo ETIQUETA. Esto puede ser útil para órdenes que transforman el contenido de un archivo antes de la búsqueda, por ejemplo, gzip -cd foo.gz | grep --label=foo -H '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.

  Selección de archivos y directorios

-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 generar código binario no válido, lo que puede tener efectos secundarios indeseados si la salida es una terminal y si el controlador de la terminal interpreta parte de ella como órdenes. Por otro lado, al leer archivos con codificaciones de texto desconocidas, puede ser útil usar -a o establecer LC_ALL='C' en el entorno para encontrar más concordancias, incluso si no son seguras para la visualización directa.

-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.

  Otras opciones

--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.

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.

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.

  Grupos de caracters y Expresiones entre Corchetes
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.

Dentro de una expresión entre corchetes, una expresión de rango consta de dos caracteres separados por un guion. En la configuración regional predeterminada de C, coincide con cualquier carácter que aparezca entre los dos caracteres en orden ASCII, inclusive. Por ejemplo, [a-d] equivale a [abcd]. En otras configuraciones regionales, el comportamiento no está definido: [a-d] podría ser equivalente a [abcd], [aBbCcDd] o alguna otra expresión entre corchetes, o podría no coincidir con ningún carácter, o el conjunto de caracteres que concorde podrái ser arbritrario, o podría no ser válido. Para obtener la interpretación tradicional de las expresiones entre corchetes, puede usar la configuración regional de 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.

  Anclado
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.

  La Barra Invertida y otras Expresiones Especiales
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 \B hará 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:]].

  Repetición
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.

  Concatenación
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.

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

  Precedencia
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.

  Retroreferencias y Subexpresiones
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.

  Expresiones Regulares Básicas y Ampliadas
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 \).

ESTADO DE SALIDA
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.

ENTORNO
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'.

NOTAS
Esta página de manual no se mantienede forma rigurosa. La documentación completa suele estar más actualizada.

COPYRIGHT
Copyright 1998–2000, 2002, 2005–2025 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.

ERRORES

  Informar de Errores
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.

  Errores Conocidos
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.

EJEMPLO
El siguiente ejemplo muestra la ubicación y el contenido de cualquier línea que contenga «f» y termine en «.c», dentro de todos los archivos del directorio actual cuyos nombres contengan «g» y terminen en «.h». La opción -n muestra los números de línea, el argumento -- trata las expansiones de «*g*.h» que empiezan por «-» como nombres de archivo, no como opciones, y el archivo vacío /dev/null hace que se muestren los nombres de archivo incluso si solo un nombre de archivo tiene el formato «*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)

  Documentación Completa
Está disponible un manual completo (https://www.gnu.org/software/grep/manual/) grep,la orden

    info grep

debería mostrarle el manual completo.

TRADUCCIÓN
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.