Nombre

grep, egrep, fgrep – imprime las líneas que coinciden con un patrón

Sinopsis

grep PATTERN
grep

Descripción

grep busca en los ARCHIVOS de entrada nombrados (o en la entrada estándar si no se nombran archivos, o si se da un solo guión-menos (-) como nombre de archivo)para las líneas que contienen una coincidencia con el PATRÓN dado. Por defecto, grep imprime las líneas coincidentes.

Además, están disponibles dos programas variantes egrep y fgrep. egrep es lo mismo que grep -E. fgrep es lo mismo quegrep -F. La invocación directa como egrep o fgrep está en desuso, pero se proporciona para permitir que las aplicaciones históricas que dependen de ellos se ejecuten sin modificaciones.

Opciones

Información general del programa

–help

Imprime un mensaje de uso que resume brevemente estas opciones de la línea de comandos y la dirección de notificación de errores, y luego sale.

-V, –version Imprime el número de versión de grep en el flujo de salida estándar. Este número de versión debe incluirse en todos los informes de errores (véase más adelante).

Selección de mecheros

-E, –extended-regexp Interpreta PATTERN como una expresión regular extendida (ERE, ver más abajo). (-E está especificado por POSIX.) -F, –fixed-strings Interpreta PATTERN como una lista de cadenas fijas, separadas por nuevas líneas, cualquiera de las cuales debe ser comparada. (-F está especificado por POSIX.) -G, –basic-regexp Interpreta PATTERN como una expresión regular básica (BRE, ver más abajo). Este es el valor por defecto. -P, –perl-regexp Interpreta el PATRÓN como una expresión regular de Perl. Esto es altamente experimental y grep -P puede advertir de características no implementadas.

Control de coincidencia

-e PATTERN, –regexp=PATTERN Utiliza PATTERN como patrón. Esto puede usarse para especificar múltiples patrones de búsqueda, o para proteger un patrón que comienza con un guión (-).(-e está especificado por POSIX .) -f FILE, –file=FILE Obtiene patrones de FILE, uno por línea. El archivo vacío contiene cero patrones, y por lo tanto no coincide con nada. (-f está especificado por POSIX .) -i, –ignore-case Ignora las distinciones entre mayúsculas y minúsculas tanto en el PATTERN como en los archivos de entrada. (-i está especificado por POSIX .) -v, –invert-match Invierte el sentido de las coincidencias, para seleccionar las líneas no coincidentes. (-v está especificado por POSIX .) -w, –word-regexp Selecciona sólo las líneas que contienen coincidencias que forman palabras completas. La prueba es que la subcadena coincidente debe estar al principio de la línea o precedida por un carácter constitutivo que no sea una palabra. Del mismo modo, debe estar al final de la línea o ir seguida de un carácter constitutivo que no sea una palabra.Los caracteres constitutivos de palabras son letras, dígitos y el guión bajo. -x, –line-regexp Selecciona sólo las coincidencias que coinciden exactamente con toda la línea. (-x está especificado por POSIX.) -y

Sinónimo obsoleto de -i.

Control de salida general

-c, –count Suprime la salida normal; en su lugar imprime un recuento de líneas coincidentes para cada archivo de entrada. Con la opción -v, –invert-match (ver más abajo), cuenta las líneas no coincidentes. (-c está especificado por POSIX .) –color, –colour Rodea las cadenas coincidentes (no vacías), las líneas coincidentes, las líneas de contexto, los nombres de archivo, los números de línea, los desplazamientos de bytes y los separadores (para campos y grupos de líneas de contexto) con secuencias de escape para mostrarlos en color en el terminal. Los colores se definen mediante la variable de entorno GREP_COLORS. La variable de entorno GREP_COLOR, ya obsoleta, sigue siendo compatible, pero su configuración no tiene prioridad. WHEN es nunca, siempre, oauto. -L, –files-without-match Suprime la salida normal; en su lugar imprime el nombre de cada archivo de entrada del que normalmente no se habría impreso ninguna salida. El escaneo se detendrá en la primera coincidencia. -l, –files-with-matches Suprime la salida normal; en su lugar imprime el nombre de cada archivo de entrada del que normalmente se habría impreso una salida. La exploración se detendrá en la primera coincidencia. (-l está especificado por POSIX .) -m NUM, –max-count=NUM Detiene la lectura de un archivo después de NUM líneas coincidentes. Si la entrada es estándar desde un archivo regular, y salen NUM líneas coincidentes, grep se asegura de que la entrada estándar se sitúe justo después de la última línea coincidente antes de salir, independientemente de la presencia de líneas de contexto finales. Esto permite a un proceso de llamada reanudar una búsqueda. Cuando grep se detiene después de NÚMEROS de líneas que coinciden, saca cualquier línea de contexto posterior. Cuando también se utiliza la opción -c o –count, grep no muestra un recuento superior a NUM. Cuando también se utiliza la opción -v o –invert-match, grep se detiene después de mostrar NUM líneas no coincidentes. -o, –only-matching Imprime sólo las partes coincidentes (no vacías) de una línea coincidente, con cada parte en una línea de salida separada. -q, –quiet, –silent Silencio; no escribe nada en la salida estándar. Salir inmediatamente con estado cero si se encuentra alguna coincidencia, incluso si se detecta un error. Véase también la opción-s o –no-messages. (-q está especificado por POSIX .) -s, –no-messages Suprime los mensajes de error sobre archivos inexistentes o ilegibles. Nota de portabilidad: a diferencia de GNU grep, 7th Edition Unix grep no se ajustaba a POSIX , porque carecía de -q y su opción -s se comportaba como la opción -q de GNU grep.USG -style grep también carecía de -q pero su opción -s se comportaba como GNU grep. Los scripts de shell portátiles deben evitar tanto -q como -s y deben redirigir la salida estándar y de error a /dev/null. (-s está especificado por POSIX.)

Control del prefijo de la línea de salida

-b, –byte-offset Imprime el desplazamiento de bytes basado en 0 dentro del archivo de entrada antes de cada línea de salida. Si se especifica -o (–only-matching), imprime el desplazamiento de la parte que coincide. -H, –with-filename Imprime el nombre del archivo para cada coincidencia. Este es el valor por defecto cuando hay más de un archivo que buscar. -h, –no-filename Suprimir el prefijo de los nombres de archivo en la salida. Este es el valor por defecto cuando sólo hay un archivo (o sólo la entrada estándar) para buscar. –label=LABEL Muestra la entrada que realmente proviene de la entrada estándar como entrada proveniente del archivo LABEL. Esto es especialmente útil cuando se implementan herramientas comozgrep, por ejemplo, gzip -cd foo.gz | grep –label=foo -H algo. Véase también la opción -H. -n, –line-number Prefija cada línea de salida con el número de línea basado en 1 dentro de su archivo de entrada. (-n está especificado por POSIX .) -T, –initial-tab Asegúrese de que el primer carácter del contenido de la línea real se encuentra en un tabulador, para que la alineación de los tabuladores parezca normal. Esto es útil con opciones que prefijan su salida al contenido real: -H, -n y -b. Para mejorar la probabilidad de que las líneas de un mismo archivo comiencen todas en la misma columna, esto también hace que el número de línea y el desplazamiento de bytes (si está presente) se impriman en un campo de tamaño mínimo. -u, –unix-byte-offsets Informa de los desplazamientos de bytes al estilo de Unix. Esta opción hace que grep informe de los desplazamientos de bytes como si el archivo fuera un archivo de texto al estilo de Unix, es decir, con los caracteres CR eliminados. Esto producirá resultados idénticos a la ejecución de grep en una máquina Unix. Esta opción no tiene efecto a menos que se utilice también la opción -b; no tiene efecto en plataformas distintas de MS-DOS y MS -Windows. -Z, –null Emite un byte cero (el carácter ASCII NUL) en lugar del carácter que normalmente sigue a un nombre de archivo. Por ejemplo, grep -lZ emite un byte cero después de cada nombre de archivo en lugar de la habitual nueva línea. Esta opción hace que la salida sea inequívoca, incluso en presencia de nombres de archivos que contienen caracteres inusuales como las nuevas líneas. Esta opción se puede utilizar con comandos como find -print0, perl -0, sort -z y xargs -0 para procesar nombres de archivo arbitrarios, incluso los que contienen caracteres de nueva línea.

Control de líneas de contexto

-A NUM, –after-context=NUM Imprime NUM líneas de contexto de arrastre después de las líneas coincidentes. Coloca una línea que contiene un separador de grupo (–) entre grupos contiguos de coincidencias. Con la opción -o o –only-matching, esto no tiene efecto y se emite una advertencia. -B NUM, –before-context=NUM Imprime NUM líneas de contexto inicial antes de las líneas coincidentes. Coloca una línea con un separador de grupo (–) entre grupos contiguos de coincidencias. Con la opción -o o –only-matching, esto no tiene efecto y se emite una advertencia. -C NUM, -NUM, –context=NUM Imprime NUM líneas de contexto de salida. Coloca una línea con un separador de grupo (–) entre grupos contiguos de coincidencias. Con la opción -o o–only-matching, esto no tiene efecto y se da una advertencia.

Selección de archivos y directorios

-a, –text Procesa un archivo binario como si fuera texto; esto es equivalente a la opción –binary-files=text. –binary-files=TYPE Si los primeros bytes de un archivo indican que el archivo contiene datos binarios, asume que el archivo es del tipo TYPE. Por defecto, TYPE es binario, y grep normalmente emite un mensaje de una línea diciendo que un archivo binario coincide, o ningún mensaje si no hay coincidencia. Si TIPO es sin coincidencia, grep asume que un archivo binario no coincide; esto es equivalente a la opción -I. Si TIPO es texto, grep procesa un archivo binario como si fuera texto; esto equivale a la opción -a. Advertencia: grep –binary-files=text puede producir basura binaria, lo que puede tener efectos secundarios desagradables si la salida es una terminal y si el controlador de la terminal interpreta parte de ella como comandos. -D ACTION, –devices=ACTION Si un archivo de entrada es un dispositivo, FIFO o socket, utilice ACTION para procesarlo. Por defecto, ACTION es read, lo que significa que los dispositivos se leen como si fueran archivos ordinarios. Si ACTION es skip, los dispositivos se omiten silenciosamente. -d ACTION, –directorios=ACTION Si un archivo de entrada es un directorio, utilice ACTION para procesarlo. Por defecto, ACTION es read, lo que significa que los directorios se leen como si fueran archivos ordinarios. Si ACTION es skip, los directorios se saltan silenciosamente. Si ACTION es recurse, grep lee todos los archivos bajo cada directorio, recursivamente; esto es equivalente a la opción -r. –exclude=GLOB Omite los archivos cuyo nombre base coincida con GLOB (utilizando la coincidencia de comodines). Un nombre de archivo glob puede utilizar *, ?, y como comodines, y \ ~ para citar un carácter comodín o barra invertida literalmente. –exclude-from=FILE Omite los archivos cuyo nombre base coincida con cualquiera de los globos de nombre de archivo leídos desde FILE (utilizando la coincidencia de comodines descrita en –exclude). –exclude-dir=DIR Excluye de las búsquedas recursivas los directorios que coincidan con el patrón DIR. -I

Procesar un archivo binario como si no contuviera datos coincidentes; esto equivale a la opción –binary-files=without-match.

–include=GLOB Buscar sólo los archivos cuyo nombre base coincida con GLOB (utilizando coincidencias con comodines como se describe en –exclude). -R, -r, –recursive Lee todos los archivos de cada directorio, de forma recursiva; esto es equivalente a la opción -d recurse.

Otras opciones

–line-buffered Utiliza el búfer de línea en la salida. Esto puede causar una penalización en el rendimiento. –mmap

Si es posible, utilice la llamada al sistema mmap(2) para leer la entrada, en lugar de la llamada al sistema read(2) por defecto. En algunas situaciones, –mmap ofrece un mejor rendimiento. Sin embargo, –mmap puede causar un comportamiento indefinido (incluyendo el vaciado del núcleo) si un archivo de entrada se encoge mientras grep está operando, o si ocurre un error de E/S.

-U, –binary Trate el archivo(s) como binario. Por defecto, bajo MS-DOS y MS -Windows, grep adivina el tipo de archivo mirando el contenido de los primeros 32KB leídos del archivo. Si grep decide que el archivo es un archivo de texto, elimina los caracteres CR del contenido original del archivo (para que las expresiones regulares con ^ y $ funcionen correctamente). Especificar -U anula esta conjetura, haciendo que todos los archivos sean leídos y pasados al mecanismo de coincidencia literalmente; si el archivo es un archivo de texto con pares CR/LF al final de cada línea, esto hará que algunas expresiones regulares fallen. Esta opción no tiene efecto en plataformas que no sean MS-DOS y MS -Windows. -z, –null-data Trata la entrada como un conjunto de líneas, cada una terminada por 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 puede utilizarse con comandos como sort -z para procesar nombres de archivo arbitrarios.

Expresiones regulares

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

grep entiende tres versiones diferentes de la sintaxis de las expresiones regulares: «básica», «extendida» y «perl». En GNU grep, no hay diferencia en la funcionalidad disponible entre las sintaxis básica y extendida. En otras implementaciones, las expresiones regulares básicas son menos potentes. La siguiente descripción se aplica a las expresiones regulares extendidas; las diferencias para las expresiones regulares básicas se resumen a continuación. Las expresiones regulares de Perl dan funcionalidad adicional, y están documentadas en pcresyntax(3) y pcrepattern(3), pero pueden no estar disponibles en todos los sistemas.

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

El punto . coincide con cualquier carácter simple.

Clases de caracteres y expresiones de corchetes

Una expresión de corchetes es una lista de caracteres encerrados por . Coincide con cualquier carácter de la lista; si el primer carácter de la lista es el signo de interrogación ^, coincide con cualquier carácter que no esté en la lista. Por ejemplo, la expresión regular coincide con cualquier dígito.

Dentro de una expresión de corchetes, una expresión de rango consiste en dos caracteres separados por un guión. Coincide con cualquier carácter que se encuentre entre los dos caracteres, inclusive, utilizando la secuencia de cotejo y el conjunto de caracteres de la configuración regional. Por ejemplo, en la configuración regional C por defecto, equivale a. Muchas configuraciones locales ordenan los caracteres en el orden del diccionario, y en estas configuraciones locales normalmente no es equivalente a ; podría ser equivalente a , por ejemplo. Para obtener la interpretación tradicional de las expresiones de corchetes, puede utilizar la configuración regional C estableciendo la variable de entornoLC_ALL con el valor C.

Por último, ciertas clases de caracteres con nombre están predefinidas dentro de las expresiones de corchetes, como sigue. Sus nombres se explican por sí mismos, y son, , , , , , , , y . Por ejemplo, ] significa , salvo que esta última forma depende de la configuración regional y de la codificación de caracteres ASCII, mientras que la primera es independiente de la configuración regional y del juego de caracteres. (Tenga en cuenta que los paréntesis de estos nombres de clase forman parte de los nombres simbólicos y deben incluirse además de los paréntesis que delimitan la expresión del paréntesis). La mayoría de los metacaracteres pierden su significado especial dentro de las expresiones entre corchetes. Para incluir un literal ] colóquelo primero en la lista. Del mismo modo, para incluir un literal ^ colóquelo en cualquier lugar menos en el primero. Por último, para incluir un literal – colóquelo en último lugar.

Anclaje

El signo de intercalación ^ y el signo de dólar $ son metacaracteres que coinciden respectivamente con la cadena vacía al principio y al final de una línea.

El carácter de la barra invertida y las expresiones especiales

Los símbolos \< y \> coinciden respectivamente con la cadena vacía al principio y al final de una palabra. El símbolo \b coincide con la cadena vacía en el borde de una palabra, y \B coincide con la cadena vacía siempre que no esté en el borde de una palabra. El símbolo \w es un sinónimo de] y \W es un sinónimo de ].

Repetición

Una expresión regular puede ir seguida de uno de varios operadores de repetición:

El elemento precedente es opcional y se empareja como máximo una vez.

*

El elemento precedente se emparejará cero o más veces.

+

El elemento precedente se emparejará una o más veces.

{n}

El elemento precedente se empareja exactamente n veces.

{n,}

El elemento precedente se empareja n o más veces.

{,m}

El elemento anterior coincide como máximo m veces.

{n,m}

El elemento anterior coincide al menos n veces, pero no más de m veces.

Concatenación

Se pueden concatenar dos expresiones regulares; la expresión regular resultante coincide con cualquier cadena formada por la concatenación de dos subcadenas que coinciden respectivamente con las expresiones concatenadas.

Alternancia

Se pueden unir dos expresiones regulares mediante el operador infijo |; la expresión regular resultante coincide con cualquier cadena que coincida con cualquiera de las expresiones alternativas.

Precedencia

La repetición tiene prioridad sobre la concatenación, que a su vez tiene prioridad sobre la alternancia. Una expresión completa puede estar encerrada entre paréntesis para anular estas reglas de precedencia y formar una subexpresión.

Referencias posteriores y subexpresiones

La referencia posterior \n, donde n es un solo dígito, coincide con la subcadena previamente igualada por la enésima subexpresión entre paréntesis de la expresión regular.

Expresiones regulares básicas frente a extendidas

En las expresiones regulares básicas los metacaracteres ?, +, {, |, (, y ) pierden su significado especial; en su lugar se utilizan las versiones con barra invertida \?, \+, \{, \|, \(, y \).

El egrep tradicional no soportaba el meta-carácter {, y algunas implementaciones de egrep soportan \{ en su lugar, por lo que los scripts portables deberían evitar { en los patrones de grep -E y deberían usar para coincidir un literal {.

GNU grep -E intenta soportar el uso tradicional asumiendo que { no es especial si sería el comienzo de una especificación de intervalo no válida. Por ejemplo, el comando grep -E ‘{1’ busca la cadena de dos caracteres {1 en lugar de reportar un error de sintaxis en la expresión regular. POSIX.2 permite este comportamiento como una extensión, pero los scripts portátiles deberían evitarlo.

Variables de entorno

El comportamiento de grep se ve afectado por las siguientes variables de entorno.

La configuración regional para la categoría LC_foo se especifica examinando las tres variables de entorno LC_ALL, LC_foo, LANG, en ese orden. La primera de estas variables que se establece especifica la configuración regional. Por ejemplo, si LC_ALL no está fijada, pero LC_MESSAGES está fijada en topt_BR, entonces se utiliza la configuración regional del portugués brasileño para la categoría LC_MESSAGES. La configuración regional C se utiliza si ninguna de estas variables de entorno está establecida, si el catálogo de configuración regional no está instalado, o si grep no fue compilado con soporte de lenguaje nacional ( NLS ).

GREP_OPTIONS Esta variable especifica las opciones por defecto que se colocan delante de cualquier opción explícita. Por ejemplo, si GREP_OPTIONS es ‘–binary-files=without-match –directories=skip’, grep se comporta como si las dos opciones –binary-files=without-match y–directories=skip se hubieran especificado antes de cualquier opción explícita. Las especificaciones de las opciones están separadas por espacios en blanco. Una barra invertida escapa al siguiente carácter, por lo que puede utilizarse para especificar una opción que contenga espacios en blanco o una barra invertida. GREP_COLOR Esta variable especifica el color utilizado para resaltar el texto coincidente (no vacío). Está obsoleta en favor de GREP_COLORS, pero todavía se admite. Las capacidades Themt, ms y mc de GREP_COLORS tienen prioridad sobre ella. Sólo puede especificar el color utilizado para resaltar el texto que no está vacío en cualquier línea que coincida (una línea seleccionada cuando se omite la opción de línea de comandos -v, o una línea de contexto cuando se especifica -v). El valor predeterminado es 01;31, lo que significa un texto en primer plano de color rojo intenso sobre el fondo predeterminado de la terminal. GREP_COLORS Especifica los colores y otros atributos utilizados para resaltar varias partes de la salida. Su valor es una lista de capacidades separada 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 soportadas son las siguientes. sl=

SGR subcadena para las líneas enteras seleccionadas (es decir, líneas coincidentes cuando se omite la opción de línea de comandos -v, o líneas no coincidentes cuando se especifica -v). Sin embargo, si se especifican la capacidad booleana rv y la opción de línea de comandos -v, se aplica a las líneas que coinciden con el contexto en su lugar.El valor predeterminado es vacío (es decir, el par de colores predeterminado del terminal).

cx=

Subsecuencia SGR para líneas enteras del contexto (es decir, líneas que no coinciden cuando se omite la opción de línea de comandos -v, o líneas que coinciden cuando se especifica -v). Sin embargo, si se especifica la capacidad booleana rv y la opción de línea de comandos -v, se aplica a las líneas seleccionadas que no coinciden. El valor predeterminado es vacío (es decir, el par de colores predeterminado de la terminal).

rv

Valor booleano que invierte (intercambia) los significados de las capacidades sl= y cx= cuando se especifica la opción de línea de comandos -v. El valor predeterminado es falso (es decir, la capacidad se omite).

mt=01;31

Subcadena SGR para la coincidencia de texto no vacío en cualquier línea de coincidencia (es decir, una línea seleccionada cuando se omite la opción de línea de comandos -v, o una línea de contexto cuando se especifica -v). Establecer esto equivale a establecer tanto ms= como mc= a la vez con el mismo valor. El valor predeterminado es un texto rojo en negrita sobre el fondo de la línea actual.

ms=01;31

SGR subcadena para la coincidencia de texto no vacío en una línea seleccionada. (Esto sólo se utiliza cuando se omite la opción de línea de comandos -v.) El efecto de la capacidad l= (o cx= si rv) permanece activo cuando esto se activa. El valor predeterminado es un primer plano de texto en negrita sobre el fondo de la línea actual.

mc=01;31

SGR subcadena para la coincidencia de texto no vacío en una línea de contexto. (Esto sólo se utiliza cuando se especifica la opción de línea de comandos -v.) El efecto de la capacidadcx= (o sl= si rv) permanece activo cuando esto se activa. El valor predeterminado es un primer plano de texto en negrita sobre el fondo de la línea actual.

fn=35

SGR subcadena para los nombres de archivo que preceden a cualquier línea de contenido. El valor predeterminado es un primer plano de texto magenta sobre el fondo predeterminado del terminal.

ln=32

SGR subcadena para los números de línea que preceden a cualquier línea de contenido. El valor predeterminado es un primer plano de texto verde sobre el fondo predeterminado del terminal.

bn=32

Subcadena SGR para los desplazamientos de bytes que preceden a cualquier línea de contenido. El valor predeterminado es un primer plano de texto verde sobre el fondo predeterminado del terminal.

se=36

Subcadena SGR para los separadores que se insertan entre los campos de línea seleccionados (:), entre los campos de línea de contexto, (-), y entre los grupos de líneas adyacentes cuando se especifica un contexto distinto de cero (–). El valor predeterminado es un primer plano de texto cian sobre el fondo predeterminado del terminal.

ne

Valor booleano que impide borrar hasta el final de línea utilizando Borrar en línea (EL) a la derecha (\33. LC_ALL, LC_CTYPE, LANG Estas variables especifican la configuración regional para la categoría LC_CTYPE, que determina el tipo de caracteres, por ejemplo, qué caracteres son espacios en blanco. LC_ALL, LC_MESSAGES, LANG Estas variables especifican la configuración regional para la categoría LC_MESSAGES, que determina el idioma que grep utiliza para los mensajes. Por defecto, Clocale utiliza mensajes en inglés americano. POSIXLY_CORRECT Si se establece, grep se comporta como lo requiere POSIX.2; de lo contrario, grep se comporta más bien como otros programas de GNU.POSIX.2 requiere que las opciones que siguen a los nombres de archivo se traten como nombres de archivo; por defecto, tales opciones se permutan al frente de la listaoperand y se tratan como opciones. Además, POSIX.2 requiere que las opciones no reconocidas sean diagnosticadas como «ilegales», pero como no son realmente contrarias a la ley, el valor por defecto es diagnosticarlas como «inválidas». POSIXLY_CORRECT también desactiva _N_GNU_nonoption_argv_flags_, que se describe a continuación. (Aquí N es el ID numérico del proceso de grep.) Si el carácter ith del valor de esta variable de entorno es 1, no se considera que el operando ith de grep sea una opción, incluso si parece serlo. Un shell puede poner esta variable en el entorno para cada comando que ejecute, especificando qué operandos son los resultados de la expansión de comodines de nombres de archivos y, por lo tanto, no deben ser tratados como opciones. Este comportamiento sólo está disponible con la biblioteca GNU C, y sólo cuando POSIXLY_CORRECT no está establecido.

Estado de salida

Normalmente, el estado de salida es 0 si se encuentran las líneas seleccionadas y 1 en caso contrario. Pero el estado de salida es 2 si ocurrió un error, a menos que se use la opción -q o–quiet o –silent y se encuentre una línea seleccionada. Tenga en cuenta, sin embargo, que POSIX sólo exige, para programas comogrep, cmp y diff, que el estado de salida en caso de error sea mayor que 1; por lo tanto, es aconsejable, en aras de la portabilidad, utilizar una lógica que compruebe esta condición general en lugar de la igualdad estricta con 2.

Copyright

Copyright 1998-2000, 2002, 2005-2010 Free Software Foundation, Inc.

Este es un software libre; vea la fuente para las condiciones de copia. No hay ninguna garantía; ni siquiera de COMERCIALIZACIÓN o ADECUACIÓN A UN PROPÓSITO PARTICULAR.

Bugs

Informe de errores

Envíe los informes de errores por correo electrónico a <[email protected]>, una lista de correo cuya página web es <http://lists.gnu.org/mailman/listinfo/bug-grep>.grep’s El rastreador de errores de Savannah se encuentra en <http://savannah.gnu.org/bugs/?group=grep>.

Bugs conocidos

Los recuentos de repeticiones grandes en la construcción {n,m} pueden hacer que grep utilice mucha memoria. Además, ciertas expresiones regulares otherobscure requieren tiempo y espacio exponencial, y pueden hacer que grep se quede sin memoria.

Las retro-referencias son muy lentas, y pueden requerir tiempo exponencial.

Ver también

Páginas regulares del manual

awk(1), cmp(1), diff(1), find(1), gzip(1), perl(1), sed(1), sort(1), xargs(1), zgrep(1), mmap(2), read(2), pcre(3), pcresyntax(3), pcrepattern(3),terminfo(5), glob(7), regex(7).

Manual del programador de POSIX Página

grep(1p).

Documentación TeXinfo

La documentación completa de grep se mantiene como un manual TeXinfo. Si los programas info y grep están correctamente instalados en su sitio,el comando info grep debería darle acceso al manual completo.

Notas

GNU ‘s no es Unix, pero Unix es una bestia; su forma plural es Unixen.

admin

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

lg