GREP(1) Ordenes de usuario GREP(1) NOMBRE grep - muestra lineas que concuerdan con un patron SINOPSIS grep [OPCION...] PATRONES [ARCHIVO...] grep [OPCION...] -e PATRONES ... [ARCHIVO...] grep [OPCION...] -f ARCHIVO_PATRON ... [ARCHIVO...] DESCRIPCION grep busca PATRONES en cada ARCHIVO. PATRONES consistira en uno o mas patrones separados entre si por un salto de linea; grep mostrara cada linea donde encuentre una concordancia con dicho patron. En general, deben entrecomillarse los patrones si se ejecut grep dentro de otra orden de la shell. Si definimos ARCHIVO como '-', se considerara la entrada estandar. Si nose define ningun valor para ARCHIVO, se hara una busqueda recursiva del directorio actual y no recursiva de la entrada estandar. OPCIONES Informacion generica de la aplicacion --help Muestra una breve instruccion de uso y finaliza. -V, --version Muestra la version de grep y termina. Sintaxis del patron -E, --extended-regexp Interpreta PATRONES como una expresion regular extendida (vea mas adelante). -F, --fixed-strings Interpreta PATRONES como una cadena de texto, no como expresiones regulares. -G, --basic-regexp Interpreta PATRONES como una expresion regular basica (vea mas abajo). Este es el comportamiento predeterminado. -P, --perl-regexp Interpreta PATRONES como un expresion regular de Perl (PCRE). Esta opcion aun es experimental si se combina con -z (--vacio), grep -P puede emitir avisos acerca de funciones no implementadas. Gestion de las concordancias -e PATRONES, --regexp=PATRONES Emplea PATRONES como patrones. Si se usa varias veces o se combina con la opcion -f (--file) la busqueda se realizara con todos los patrones dado. Esta opcion es util para proteger un patron que comience por '-'. -f ARCHIVO, --file=ARCHIVO Obtiene el patron de ARCHIVO, uno de cada linea. Si se emplea esta opcion varias veces o se combina con -e (--regexp) realiza la busqueda con todos los patrones que se indiquen. Un archivo vacio contiene cero patrones y no concordara con nada. Si ARCHIVO es -, tomara los patrones desde la entrada estandar. -i, --ignore-case No distingue entre mayusculas y minusculas tanto en los patrones como en los datos de entrada, asi que los caracteres que solo difieran en este aspecto resultaran en una coincidencia. --no-ignore-case Distingue entre mayusculas y minusculas tanto en los patrones como en los datos de entrada (comportamiento por defecto). Esta opcion es util en el caso de emplearse en scripts de shell donde se haya definido previamente la opcion -i ya que ambas opciones se anulan entre si. -v, --invert-match Invierte el sentido de la concordancia, seleccionando las lineas que no concuerden. -w, --word-regexp Selecciona solamente aquellas lineas que contienen concordancias que forman palabras completas. La comprobacion consiste en que la cadena de caracteres concordante debe estar al principio de la linea o precedida por un caracter que no forme parte de una palabra. De forma similar, debe estar o al final de la linea o ser seguida por un caracter no constituyente de palabra. Los caracteres que se consideran como parte de palabras son letras, digitos y el subrayado. No tiene efecto si tambien de define la opcion -x. -x, --line-regexp Selecciona unicamente las linea que concuerden completa y exactamente en su totalidad con el patron. Equivaldria, en el caso de una expresion regular, a definir el patron entre parentesis comenzando con ^ y finalizando con $. Gestion general de la salida -c, --count Suprime la salida normal; en su lugar muestra el numero de lineas que concuerdan con el patron para cada archivo de entrada. Con la opcion -v, --invert-match, contabiliza el numero de lineas que no concuerdan. --color[=CUANDO], --colour[=CUANDO] Rodea las cadenas concordantes (que no esten en blanco), lineas concordantes, nombres de archivo, numeros de linea, bytes de compensacion y separadores (para los campos y grupos de lineas contextuales) con secuencias de escape para mostrarlas en distintos colores a traves del terminal. Dichos colores se definen a traves 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 produciria ninguna salida. -l, --files-with-matches Suprime la salida normal; en su lugar muestra el nombre de cada fichero de entrada que produciria alguna salida. La busqueda de cada entrada se detendra en la primera concordancia. -m NUM, --max-count=NUM Deja de leer un archivo al alcanzar la cantidad de NUM lineas 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; este es el comportamiento por defecto. Si la entrada es un archivo corriente y la salida son las NUM lineas concordantes, grep hara que el archivo de entrada quede posicionado justo despues de la ultima linea concordante sin importar la existencia de alguna linea contextual posterior. Asi, un proceso posterior podra continuar con la busqueda. Cuando grep se detiene despues de encontrar NUM lineas concordantes, mostrara sus lineas contextuales. Si se usa la opcion -c o --count, nunca se mostrara un recuento superior a NUM. Con la opcion -v o --invert-match, la ejecucion de grep se detendra una vez mostradas NUM lineas no concordantes. -o, --only-matching Muestra solo la parte coincidente con el patron de una linea concordante, siempre que no sea una cadena vacia y poniendo cada parte en una linea diferente. -q, --quiet, --silent Minima salida. No muestra nada en la salida estandar. Termina con estado cero si encuentra alguna concordancia aunque detecte algun error. Consulte tambien la opcion -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 linea -b, --byte-offset Muestra el desplazamiento de bytes, comenzando en cero, dentro del archivo de entrada antes de cada linea 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 hara por defecto cuando se busque en mas de un archivo. Es una extension de GNU. -h, --no-filename No muestra los nombres de archivo antes de cada linea. Es el comportamiento por defecto cuando se realiza la busqueda en un solo archivo o en la entrada estandar. --label=ETIQUETA Muestra la entrada provienente de la entrada estandar como entrada proveniente del archivo LABEL. Esto puede ser util para las ordenes que transforman el contenido de un archivo antes de realizar la busqueda. Por ejemplo: gzip -cd foo.gz | grep --label=foo -H 'algun patron'. Consulte tambien la opcion -H. -n, --line-number Antepone a cada linea mostrada el numero de linea de su archivo de entrada correspondiente comenzando por el 1. -T, --initial-tab Se asegura que el primer caracter de la linea actual este en una tabulacion, de modo que la alineacion de las tabulaciones parezca normal. Esto es util con las opciones que anteponen su salida al contenido real: -H, -n y -b. Para incrementar la probabilidad de que todas las lineas de un mismo archivo comiencen en la misma columna, tambien hace que el numero de linea y el desplazamiento de bytes (si existe) se impriman en un ancho de campo minimo. -Z, --null Muestra un byte cero (el caracter ASCII NUL) en lugar del caracter que habitualmente seguiria al nombre de un archivo. Por ejemplo: grep -lZ genera un byte cero despues de cada nombre de archivo en lugar del salto de linea habitual. Esta opcion hace que la salida no sea ambigua, incluso con nombres de archivo que contengan caracteres poco usuales como saltos de linea. Esta opcion se puede usar con ordenes como find -print0, perl -0, sort -z y xargs -0 para procesar nombres de archivos arbitrarios, incluso aquellos que contienen saltos de linea en su nombre. Gestion de Lineas Contextuales -A NUM, --after-context=NUM Imprime NUM lineas de contexto posterior despues de las lineas concordantes. Coloca una linea que contiene un separador de grupo (--) entre grupos contiguos de coincordancias. Con la opcion -o o --only-matching, se emitira un mensaje de advertencia y no tendra ningun efecto. -B NUM, --before-context=NUM Imprime NUM cantidad de lineas de contexto respecto de la concordante. Anade un separador (--) entre grupos de concordancias. Si se emplea con la opcion -o o --only-matching, no tendra ningun efecto y se emitira un aviso. -C NUM, -NUM, --context=NUM Muestra NUM lineas contextuales. Inserta una linea con un separador (--) entre grupos contiguos de concordancias. Si se usa la opcion -o o --only-matching, se emite un mensaje de advertencia y no tendra ningun efecto. --group-separator=SEP Cuando se usen las opciones -A, -B o -C, emplea SEP en lugar de -- entre los distintos grupos de lineas. --no-group-separator Cuando se usen las opciones -A, -B o -C, no me mostrara ningun separador entre lineas. Seleccion de archivos y directorios -a, --text Procesa un archivo binario como si se tratase de texto. Equivale a la opcion --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 podran ser bytes incorrectamente codificados para la localizacion en uso o bytes nulos si no se indico la opcion -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 mostrara un mensaje en la salida de error estandar informando de la concordancia con un archivo binario. Si TIPO es without-match, grep asumira que no hay concordancia alguna en el resto del archivo si se encuentra contenido nulo binarios. Esto equivale a la opcion -I. Si TIPO es texto, grep procesara un archivo binario como si se tratase de texto. Equivale a la opcion -a. Cuando el tipo es binario, grep puede tratar los bytes no-textuales como terminadores de linea incluso sin la opcion -z. Esto significa que elegir binario frente a texto puede afectar si un patron coincide con un archivo. Por ejemplo, cuando tipo es binario, el patron q$ podria 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 patron . (punto) puede no coincidir con un byte nulo. AVISO: La opcion -a puede mostrar contenido binario sin sentido lo que puede tener efectos adversos si dicho contenido se muestra a traves de un terminal y este interpreta que son ordenes. Por otra parte, esta opcion es util a la hora de leer archivos cuya codificacion se desconoce (tambien definir LC_ALL='C') porque asi se pueden encontrar mas concordancias aunque no sea seguro mostrarlas directamente. -D ACCION, --devices=ACCION emplea ACCION para procesar un archivo de entrada si es un dispositivo, un FIFO o un socket. Por defecto, ACCION sera read por lo que estos dispositivos, seran leido como un archivo corriente. Si ACCION es skip, los dispositivos seran descartados sin ningun aviso. -d ACCION, --directories=ACCION Emplea ACCION para procesar el archivo de entrada si este es un directorio. Por defecto, esta ACCION es read (leer), esto es que leera directorios tal como si fuesen archivos. Si ACCION es skip, se saltara los directorios sin emitir ningun mensaje. Por ultimo, si ACCION es recurse, leera de forma recusiva todos los archivos que se encuentren dentro de cada directorio siguiendo los enlaces simbolicos solo si se indican en la linea de ordenes. Esto equivaldria a definir la opcion -r. --exclude=GLOB Omite cualquier archivo de linea de ordenes con una extension que coincida con el patron GLOB, utilizando la concordancia de comodines; una extesnion de nombre es el nombre completo o una parte final que comienza con un caracter que no es una barra inmediatamente despues de una barra (/) en el nombre. Cuando realice una busqueda recursiva, omita cualquier subarchivo cuyo nombre base coincida con GLOB; el nombre base es la parte despues de la ultima barra. Un patron puede usar *, ? y [...] como comodines, y \ para citar un comodin o caracter 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 describio en --exclude). --exclude-dir=GLOB Salta cualquier directorio cuyo sufijo concuerde con el patron GLOB. Cuando se hace una busqueda recursiva, saltara 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 opcion --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, prevalecera la ultima que coincida. Si ninguna opcion --include o --exclude coincide, se incluye un archivo a menos que la primera opcion sea --include. -r, --recursive Lee recursivamente todos los archivos dentro de cada directorio, sigue enlaces simbolicos solo si estan en la linea de ordenes. Observe que si no se indica ningun archivo, grep buscara en el directorio actual. Equivale a la opcion -d recurse. -R, --dereference-recursive Lee recursivamente todos los archivos dentro de cada directorio. Sigue todos los enlaces simbolicos a diferencia de -r. Otras opciones --line-buffered Emplea el bufer de linea 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 opcion --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 adivinacion 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 linea el par de caracteres CR/LF, esto hara que algunas expresiones regulares fallen. Esta opcion solo tiene sentido en MS-DOS y MS-Windows. -z, --null-data Considera los datos de entrada y salida como secuencias de lineas, cada una terminada con un byte cero (el caracter ASCII NUL) en lugar de una nueva linea. Al igual que la opcion -Z o --null, esta opcion se puede usar con ordenes como sort -z para procesar nombres de archivos arbitrarios. EXPRESIONES REGULARES Una expresion regular es un patron que describe un conjunto de cadenas de caracteres. Las expresiones regulares se construyen de forma analoga a las expresiones aritmeticas, combinando expresiones mas pequenas mediante ciertos operadores para formar expresiones complejas. grep interpreta tres versiones diferentes de la sintaxis de expresiones regulares: "basico" (BRE), "extendido" (ERE) y "perl" (PCRE). En GNU grep, las expresiones regulares basicas y extendidas son simplemente notaciones diferentes parala misma funcionalidad de concordancia de patrones. En otras implementaciones, las basicassuelen ser menos potentes que las extendidas aunque a veces ocurre l contrario. Se aplica la siguiente descripcion a expresiones regulares extendidas; diferencias para expresiones regulares basicas se resumen a continuacion. Las expresiones regulares de Perl tienen funcionalidades diferente, y estan documentadas en pcre2syntax(3) y pcre2pattern(3), pero solo funcionaran si esta habilitada la compatibilidad con PCRE. Los bloques de construccion fundamentales son las expresiones regulares que concuerdan con un solo caracter. La mayoria de los caracteres, incluyendo todas las letras y digitos, son expresiones regulares que concuerdan consigo mismos. Cualquier meta-caracter con un significado especial debe ser protegido precediendolo con una barra inclinada inversa. El punto . concuerda con un unico caracter, cualquiera que sea. No esta definido el comportamiento si se topa con un error de codificacion. Grupos de caracters y Expresiones entre Corchetes Una expresion entre corchetes es una lista de caracteres encerrados entre [ y ]. Coincide con cualquier caracter de esa lista. Si el primer caracter de la lista es el simbolo de intercalacion ^, entonces coincide con cualquier caracter que NO este en la lista; no se especifica si coincide con un error de codificacion. Por ejemplo, la expresion regular [0123456789] coincidira con cualquier digito. En el interior de una expresion entre corchetes, una expresion de intervalo consta de dos caracteres separados por un guion. Coincide con cualquier caracter individual que se clasifique entre los dos caracteres, inclusive utilizando la secuencia de clasificacion y el conjunto de caracteres de la configuracion regional. Por ejemplo, en la configuracion regional predeterminada de C, [a-d] es equivalente a [abcd]. Muchas configuraciones regionales clasifican los caracteres del mismo modo que se haria en un diccionario y, en estas configuraciones regionales, [a-d] normalmente no es equivalente a [abcd]; podria ser equivalente a [aBbCcDd], por ejemplo. Para obtener la interpretacion tradicional de las expresiones entre corchetes, puede utilizar la configuracion regional C estableciendo la variable de entorno LC_ALL en el valor C. Ciertas clases de caracteres estan predefinidas como de expresiones entre corchetes, como se muestra a continuacion. Sus nombres se explican por si mismos y son [:alnum:], [:alpha:],[:blank:], [:cntrl:], [:digit:], [:graph:], [:lower:], [:print:], [:punct:], [:space:], [:upper:] y [:xdigit:]. Por ejemplo, [[:alnum:]] hace referencia a los numeros y letras en la configuracion regional actual. En la configuracion regional C y la codificacion 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 simbolicos y deben incluirse ademas de los corchetes que delimitan la expresion entre corchetes. La mayoria de los metacaracteres pierden su significado especial dentro de las expresiones entre corchetes. Para referirse a ], debera ponerse en el primer lugar de la lista. De manera similar, para incluir un literal ^ coloquelo en cualquier lugar menos en el primero. Para incluir -, coloquelo al final. Anclado El simbolo de intercalacion (caret en ingles) ^ y el dolar $ son metacaracteres que concuerdan respectivamente con una cadena vacia al inicio y al final de una linea. La Barra Invertida y otras Expresiones Especiales Los simbolos \< y \> concuerdan con una cadena vacia al inicio y al fina de una palabra, respetivamente. El simbolo \b concuerda con una cadena vacia en los extremos de una palabra y 0[u00E1] lo propio si dicha cadena vacio NO esta en los extremos de una palabra. El simbolo \w es sinomino de [_[:alnum:]] y \W lo es de [^_[:alnum:]]. Repeticion Una expresion regular que concuerde con un solo caracter puede ser seguida por uno de estos varios operadores de repeticion: ? El elemento precedente es opcional y concuerda como mucho una vez. * El elemento precedente concordara cero o mas veces. + El elemento precedente concordara una o mas veces. {n} El elemento precedente concuerda exactamente n veces. {n,} El elemento precedente concuerda n o mas veces. {,m} El elemento precedente concuerda un maximo de m veces. Es una extension de GNU. {n,m} El elemento precedente concuerda como poco n veces, pero no mas de m veces. Concatenacion Dos expresiones regulares pueden concatenarse; la expresion regular resultante concuerda con cualquier cadena formada mediante la concatenacion de dos subcadenas que concuerdan respectivamente con las expresiones concatenadas. Alternancia Dos expresiones regulares pueden juntarse mediante el operador |; la expresion regular resultante concuerda con cualquier cadena que concuerde con cualquiera de las expresiones. Precedencia La repeticion tiene precedencia sobre la concatenacion, la cual a su vez tiene precedencia sobre la alternancia. Una expresion entera puede ser encerrada entre parentesis para subvertir estas reglas de precedencia. Retroreferencias y Subexpresiones The back-reference \n , where n is a single digit, matches the substring previously matched by the nth parenthesized subexpression of the regular expression. Expresiones Regulares Basicas y Ampliadas En las expresiones regulares basicas, 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 linea, 1 si no se ha seleccionado ninguna y 2 si ha ocurrido algun error. Sin embargo, si se indico la opcion -q o --quiet o --silent el estado de salida sera cero aunque ocurriese algun error. ENTORNO El comportamiento de grep esta influido por las siguientes variables de entorno. La configuracion regional para la categoria 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 este definida, marcara la configuracion regional. Por ejemplo, si LC_ALL no esta definida, pero LC_MESSAGES si lo esta en pt_BR, entonces se utiliza la configuracion regional portuguesa brasilena para la categoria LC_MESSAGES. La configuracion regional C se utilizara en el caso de que no este configurada ninguna de estas variables de entorno, si el catalogo de configuracion regional no esta instalado o si grep no se compilo con soporte de idioma nacional (NLS). La orden locale -a enumera las configuraciones regionales que estan disponibles en un determinado equipo. GREP_COLORS Define como se resaltara el resultado con la opcion --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 lineas seleccionadas completas (es decir, lineas concordantes cuando se omite la opcion -v, o lineas que no concuerden cuando se especifica -v). Sin embargo, si se especifican la capacidad booleana rv y la opcion -v, se aplicara a las lineas de concordancia contextuales. No esta definido ningun valor predeterminado, por lo que se mostrara el par de colores predeterminado del terminal. cx= Subcadena SGR para lineas contextuales completas (es decir, lineas que no concuerdan cuando se omite la opcion -v, o lineas concordantes cuando se especifica -v). Sin embargo, si se definen la capacidad booleana rv y la opcion -v, se aplicara a las lineas seleccionadas que no concuerden. No esta definido ningun valor predeterminado por lo que se usara el par de colores predeterminado del terminal. rv Valor booleano que invierte el significado de las capacidades sl= y cx=cuando se define la opcion -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 linea concordante (es decir, una linea seleccionada cuando se omite la opcion -v, o una linea 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 este definido. ms=01;31 Subcadena SGR para que concuerde cualquier texto no nulo en una linea seleccionada. Esto solo se usa cuando se omite la opcion -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 linea contextual. Esto solo se usa cuando se define la opcion -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 linea 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 linea 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 linea 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 linea seleccionados (:), entre campos de linea contextuales (-) y entre grupos de lineas 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 linea usando Borrar en linea (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 demas, es util 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 seccion Seleccionar representacion grafica (SGR por sus siglas en ingles) en la documentacion del terminal de texto que se utiliza para los valores permitidos y su significado como atributos de caracteres. Estos valores de subcadena son numeros enteros en representacion 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 configuracion regional para la categoria LC_COLLATE, que determina el metodo de clasificacion empleado para interpretar expresiones de rango como [a-z]. LC_ALL, LC_CTYPE, LANG Estas variables definen la configuracion regional para la categoria LC_CTYPE, que determina el tipo de caracteres, por ejemplo, que caracteres son espacios en blanco. Esta categoria tambien determina la codificacion de caracteres, es decir, si el texto esta codificado en UTF-8, ASCII o alguna otra codificacion. En la configuracion regional C o POSIX, todos los caracteres se codifican como un solo byte y cada byte es un caracter valido. LC_ALL, LC_MESSAGES, LANG Estas variables definen la configuracion regional para la categoria LC_MESSAGES, que determina el idioma que grep usa para sus mensajes. Con la configuracion regional predeterminada 'C' se emitiran mensajes en ingles americano. POSIXLY_CORRECT Si esta definido, el funcionamiento de grep cumple con POSIX; si no lo esta, grep funciona de modo mas 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. Ademas, POSIX requiere que las opciones no reconocidas se traten como 'ilegales', pero como en realidad no lo son, por defecto se tratan como 'invalidas'. NOTAS Esta pagina de manual no se mantienede forma rigurosa. La documentacion completa suele estar mas actualizada. COPYRIGHT Copyright 1998-2000, 2002, 2005-2023 Free Software Foundation, Inc. Esto es software libre; consulte el codigo fuente para concoer las condiciones de distribucion. NO existe garantia alguna; ni siquiera acerca de la COMERCIALIZACION o la IDONEIDAD DE SU USO PARA UN FIN CONCRETO. ERRORES Informar de Errores Envie informes de error a bug-grep@gnu.org, tambien 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 Numeros de repeticion grandes en la construccion {n,m} pueden hacer que grep emplee grandes cantidades de memoria. En adicion 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 mostrara la ubicacion y el contenido de cualquier linea 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 opcion -n genera numeros de linea, 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 unica linea que concuerda es la linea 1 de argmatch.h. Tenga en cuenta que la sintaxis de expresion regular utilizada en el patron difiere de la sintaxis que utiliza la shell para que concuerden los nombres de los archivos. VEASE TAMBIEN Paginas de Manual Genericas 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) Documentacion Completa Esta disponible un manual completo grep,la orden info grep deberia mostrarle el manual completo. TRADUCCION La traduccion al espanol de esta pagina del manual fue creada por Gerardo Aburruzaga Garcia y Marcos Fouces Esta traduccion es documentacion libre; lea la GNU General Public License Version 3 o posterior con respecto a las condiciones de copyright. No existe NINGUNA RESPONSABILIDAD. Si encuentra algun error en la traduccion de esta pagina del manual, envie un correo electronico a . GNU grep 3.11 2019-12-29 GREP(1)