GREP(1) Órdenes de usuario GREP(1)

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

Muestra una breve instrucción de uso y finaliza.
Muestra la versión de grep y termina.

Interpreta PATRONES como una expresión regular extendida (vea más adelante).
Interpreta PATRONES como una cadena de texto, no como expresiones regulares.
Interpreta PATRONES como una expresión regular básica (vea más abajo). Éste es el comportamiento predeterminado.
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

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 '-'.
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.
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.
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í.
Invierte el sentido de la concordancia, seleccionando las líneas que no concuerden.
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.
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

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.
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.
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.
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.
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.
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.
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.
Suprime los mensajes de error sobre archivos que no existen o no se pueden leer.

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.
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.
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.
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.
Antepone a cada línea mostrada el número de línea de su archivo de entrada correspondiente comenzando por el 1.
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.
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

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.
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.
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.
Cuando se usen las opciones -A, -B o -C, emplea SEP en lugar de -- entre los distintos grupos de líneas.
Cuando se usen las opciones -A, -B o -C, no me mostrará ningún separador entre líneas.

Procesa un archivo binario como si se tratase de texto. Equivale a la opción --binary-files=text.
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.
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.
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.
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.
Ignora archivos cuya base del nombre coincida con alguna de las expresiones contenidas en ARCHIVO (empleando concordancias tal como se describió en --exclude).
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.
Procesa un archivo binario como si no contuviese ninguna concordancia. Equivale a la opción --binary-files=without-match.
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.
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.
Lee recursivamente todos los archivos dentro de cada directorio. Sigue todos los enlaces simbólicos a diferencia de -r.

Emplea el bufer de línea para la salida. Puede provocar un descenso del rendimiento.
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.
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.

The back-reference \n , where n is a single digit, matches the substring previously matched by the nth parenthesized subexpression of the regular expression.

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.

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

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

2019-12-29 GNU grep 3.11