GREP(1) Comandos de usuario GREP(1) NOME grep - print lines that match patterns SINOPSE grep [OPCAO...] PADROES [ARQUIVO...] grep [OPCAO...] -e PADROES ... [ARQUIVO...] grep [OPCAO...] -f ARQUIVO_PADRAO ... [ARQUIVO...] DESCRICAO grep pesquisa PADROES em cada ARQUIVO. PADROES e um ou mais padroes separados por caracteres de nova linha e grep emite cada linha que coincide com um padrao. Normalmente, PADROES deve ser colocado entre aspas quando grep e usado em um comando shell. Um ARQUIVO de "-" significa entrada padrao. Se nenhum ARQUIVO for fornecido, as pesquisas recursivas examinam o diretorio de trabalho e as pesquisas nao-recursivas leem a entrada padrao. OPCOES Informacoes genericas do programa --help Emite uma mensagem de uso e sai. -V, --version Mostra o numero de versao do grep e sai. Sintaxe de padrao -E, --extended-regexp Interpreta PADROES como expressoes regulares estendidas (EREs, veja abaixo). -F, --fixed-strings Interpreta PADROES como textos fixos, nao como expressoes regulares. -G, --basic-regexp Interpreta PADROES como expressoes regulares basicas (BREs, veja abaixo). Esse e o padrao. -P, --perl-regexp Interpret PATTERNS as Perl-compatible regular expressions (PCREs). This option is experimental when combined with the -z (--null-data) option, and grep -P may warn of unimplemented features. Controle de coincidencias -e PADROES, --regexp=PADROES Usa PADROES como os padroes. Se esta opcao for usada varias vezes ou for combinada com a opcao -f (--file), pesquisa por todos os padroes fornecidos. Esta opcao pode ser usada para proteger um padrao comecando com "-". -f ARQUIVO, --file=ARQUIVO Obtain patterns from FILE, one per line. If this option is used multiple times or is combined with the -e (--regexp) option, search for all patterns given. The empty file contains zero patterns, and therefore matches nothing. If FILE is - , read patterns from standard input. -i, --ignore-case Ignora as diferencas entre maiusculas e minusculas nos padroes e nos dados de entrada, para que os caracteres que diferem apenas no caso de coincidirem um ao outro. --no-ignore-case Nao ignora as diferencas entre maiusculas e minusculas nos padroes e nos dados de entrada. Esse e o padrao. Esta opcao e util para passar para shell scripts que ja usam -i, para cancelar seus efeitos porque as duas opcoes se substituem. -v, --invert-match Inverte o sentido de coincidencia, para selecionar linhas que nao coincidem. -w, --word-regexp Seleciona apenas as linhas que coincidem formando palavras inteiras. O teste e que a parte de texto coincidente deve estar no inicio da linha ou precedida por um caractere que nao seja de palavra. Da mesma forma, ele deve estar no final da linha ou ser seguido por um caractere que nao seja de palavra. Os caracteres constituintes da palavra sao letras, digitos e o sublinhado. Esta opcao nao tem efeito se -x tambem estiver especificado. -x, --line-regexp Seleciona apenas as partes de texto que coincidem exatamente com a linha inteira. Para um padrao de expressao regular, e como colocar parenteses no padrao e depois envolve-lo com ^ e $. Controle geral de saida -c, --count Suppress normal output; instead print a count of matching lines for each input file. With the -v, --invert-match option (see above), count non-matching lines. --color[=QUANDO], --colour[=QUANDO] Surround the matched (non-empty) strings, matching lines, context lines, file names, line numbers, byte offsets, and separators (for fields and groups of context lines) with escape sequences to display them in color on the terminal. The colors are defined by the environment variable GREP_COLORS. WHEN is never, always, or auto. -L, --files-without-match Suppress normal output; instead print the name of each input file from which no output would normally have been printed. -l, --files-with-matches Suppress normal output; instead print the name of each input file from which output would normally have been printed. Scanning each input file stops upon first match. -m NUM, --max-count=NUM Stop reading a file after NUM matching lines. If NUM is zero, grep stops right away without reading input. A NUM of -1 is treated as infinity and grep does not stop; this is the default. If the input is standard input from a regular file, and NUM matching lines are output, grep ensures that the standard input is positioned to just after the last matching line before exiting, regardless of the presence of trailing context lines. This enables a calling process to resume a search. When grep stops after NUM matching lines, it outputs any trailing context lines. When the -c or --count option is also used, grep does not output a count greater than NUM. When the -v or --invert-match option is also used, grep stops after outputting NUM non-matching lines. -o, --only-matching Emite apenas as partes coincidentes (nao vazias) de uma ocorrencia, com cada uma dessas partes em uma linha de saida separada. -q, --quiet, --silent Quieto; nao escreve nada na saida padrao. Sai imediatamente com o status zero se alguma coincidente for encontrada, mesmo que um erro tenha sido detectado. Consulte tambem a opcao -s ou --no-messages. -s, --no-messages Inibe mensagens de erro sobre arquivos inexistentes ou ilegiveis. Controle de prefixo de linha de saida -b, --byte-offset Emite a posicao de byte baseada em 0 no arquivo de entrada antes de cada linha de saida. Se -o (--only-matching) for especificado, emite a posicao da propria parte coincidente. -H, --with-filename Print the file name for each match. This is the default when there is more than one file to search. This is a GNU extension. -h, --no-filename Inibe a prefixacao dos nomes dos arquivos na saida. Esse e o padrao quando ha apenas um arquivo (ou apenas entrada padrao) para pesquisar. --label=ROTULO Exibe a entrada proveniente da entrada padrao como uma entrada proveniente do ROTULO de arquivo. Isso pode ser util para comandos que transformam o conteudo de um arquivo antes de pesquisar, por exemplo, gzip -cd foo.gz | grep --label=foo -H 'algum padrao'. Veja tambem a opcao -H. -n, --line-number Prefixa cada linha de saida com o numero da linha com base em 1 em seu arquivo de entrada. -T, --initial-tab Verifica se o primeiro caractere do conteudo real da linha esta em uma parada de tabulacao, para que o alinhamento das tabulacoes pareca normal. Isso e util com opcoes que prefixam sua saida para o conteudo real: -H, -n e -b. Para aumentar a probabilidade de que as linhas de um unico arquivo sejam iniciadas na mesma coluna, isso tambem faz com que o numero da linha e a posicao de bytes (se houver) sejam emitidos em uma largura de campo de tamanho minimo. -Z, --null Emite um byte zero (o caractere ASCII NUL) em vez do caractere que normalmente segue um nome de arquivo. Por exemplo, grep -lZ gera um byte zero apos cada nome de arquivo, em vez da nova linha usual. Essa opcao torna a saida inequivoca, mesmo na presenca de nomes de arquivos contendo caracteres incomuns, como novas linhas. Essa opcao pode ser usada com comandos como find -print0, perl -0, sort -z e xargs -0 para processar nomes de arquivos arbitrarios, mesmo aqueles que contem caracteres de nova linha. Controle de linha de contexto -A NUM, --after-context=NUM Emite NUM linhas de contexto a direita apos as ocorrencias. Coloca uma linha que contem um separador de grupo (--) entre grupos contiguos de coincidencias. Com a opcao -o ou --only-matching, isso nao tem efeito e um aviso e dado. -B NUM, --before-context=NUM Emite NUM linhas de contexto no inicio antes das ocorrencias. Coloca uma linha que contem um separador de grupo (--) entre grupos contiguos de coincidencias. Com a opcao -o ou --only-matching, isso nao tem efeito e um aviso e dado. -C NUM, -NUM, --context=NUM Emite NUM linhas de saida do contexto. Coloca uma linha que contem um separador de grupo (--) entre grupos contiguos de coincidencias. Com a opcao -o ou --only-matching, isso nao tem efeito e um aviso e dado. --group-separator=SEP When -A, -B, or -C are in use, print SEP instead of -- between groups of lines. --no-group-separator When -A, -B, or -C are in use, do not print a separator between groups of lines. Selecao de arquivo e diretorio -a, --text Processa um arquivo binario como se fosse texto; isso e equivalente a opcao --binary-files=text. --binary-files=TIPO Se os dados ou metadados de um arquivo indicarem que o arquivo contem dados binarios, supoe que o arquivo seja do tipo TIPO. Bytes sem texto indicam dados binarios; esses sao bytes de saida codificados incorretamente para o codigo do idioma atual ou bytes de entrada nulos quando a opcao -z nao e fornecida. By default, TYPE is binary, and grep suppresses output after null input binary data is discovered, and suppresses output lines that contain improperly encoded data. When some output is suppressed, grep follows any output with a message to standard error saying that a binary file matches. Se TIPO for without-match, quando grep descobre dados binarios de entrada nula, ele presume que o restante do arquivo nao coincide; isso e equivalente a opcao -I. Se TIPO for text, grep processa um arquivo binario como se fosse texto; isso e equivalente a opcao -a. Quando tipo e binary, grep pode tratar bytes, que nao sejam de texto, como terminadores de linha, mesmo sem a opcao -z. Isso significa que escolher binary em vez de text pode afetar se um padrao coincide com um arquivo. Por exemplo, quando tipo e binary, o padrao q$ might coincide com q imediatamente seguido por um byte nulo, mesmo que isso nao coincida quando tipo e text. Por outro lado, quando tipo e binary, o padrao . (ponto) pode nao coincidir a um byte nulo. Aviso: A opcao -a pode gerar lixo binario, que pode ter efeitos colaterais desagradaveis se a saida for um terminal e se o driver do terminal interpretar alguns deles como comandos. Por outro lado, ao ler arquivos cujas codificacoes de texto sao desconhecidas, pode ser util usar -a ou definir LC_ALL='C' no ambiente, para encontrar ocorrencias, mesmo que estas nao sejam seguras para exibicao direta. -D ACAO, --devices=ACAO Se um arquivo de entrada for um dispositivo, FIFO ou soquete, usa ACAO para processa-lo. Por padrao, ACAO e read, o que significa que os dispositivos sao lidos como se fossem arquivos comuns. Se ACAO for skip, os dispositivos serao ignorados silenciosamente. -d ACAO, --directories=ACAO Se um arquivo de entrada for um diretorio, usa ACAO para processa-lo. Por padrao, ACAO e read, ou seja, le os diretorios como se fossem arquivos comuns. Se ACAO for skip, pula silenciosamente os diretorios. Se ACAO for recurse, le todos os arquivos em cada diretorio, recursivamente, seguindo os links simbolicos apenas se estiverem na linha de comando. Isso e equivalente a opcao -r. --exclude=GLOB Pula qualquer arquivo de linha de comando com um sufixo de nome que coincida com o padrao GLOB, usando coincidencia de curinga; um sufixo de nome e o nome inteiro ou uma parte a direita que comeca com um caractere sem barra imediatamente apos uma barra (/) no nome. Ao pesquisar recursivamente, pula qualquer subarquivo cujo nome base coincida com GLOB; o nome base e a parte apos a ultima barra. Um padrao pode usar *, ? e [...] como curingas e \ para colocar entre aspas um caractere curinga ou barra invertida literalmente. --exclude-from=ARQUIVO Ignora arquivos cujo nome base coincide com qualquer um dos globs de nome de arquivo lidos em ARQUIVO (usando a coincidencia curinga conforme descrito em --exclude). --exclude-dir=GLOB Pula qualquer diretorio da linha de comandos com um sufixo de nome que coincida com o padrao GLOB. Ao pesquisar recursivamente, pula qualquer subdiretorio cujo nome base coincida com GLOB. Ignora as barras finais redundantes em GLOB. -I Processa um arquivo binario como se nao contivesse dados de coincidencia isso e equivalente a opcao --binary-files=without-match. --include=GLOB Pesquisa apenas arquivos cujo nome base coincida a GLOB (usando coincidencia de curinga conforme descrito em --exclude). Se as opcoes --include e --exclude contraditorias forem fornecidas, a ultima coincidencia vence. Se nenhuma opcao --include ou --exclude coincidir, um arquivo sera incluido, a menos que a primeira opcao seja --include. -r, --recursive Read all files under each directory, recursively, following symbolic links only if they are on the command line. Note that if no file operand is given, grep searches the working directory. This is equivalent to the -d recurse option. -R, --dereference-recursive Le todos os arquivos em cada diretorio, recursivamente. Segue todos os links simbolicos, ao contrario de -r. Outras opcoes --line-buffered Usa buffer de linha na saida. Isso pode causar uma penalidade de desempenho. -U, --binary Trata os arquivos como binarios. Por padrao, em MS-DOS e MS-Windows, grep calcula se um arquivo e texto ou binario, conforme descrito para a opcao --binary-files. Se grep decidir que o arquivo e um arquivo de texto, ele remove os caracteres CR do conteudo original do arquivo (para fazer expressoes regulares com ^ e $ funcionarem corretamente). A especificacao de -U anula essas suposicoes, fazendo com que todos os arquivos sejam lidos e passados para o mecanismo de coincidencia literalmente; se o arquivo for um arquivo de texto com pares CR/LF no final de cada linha, isso fara com que algumas expressoes regulares falhem. Esta opcao nao tem efeito em plataformas diferentes do MS-DOS e MS-Windows. -z, --null-data Trata os dados de entrada e saida como sequencias de linhas, cada uma terminada por um byte zero (o caractere ASCII NUL) em vez de uma nova linha. Como a opcao -Z ou --null, esta opcao pode ser usada com comandos como sort -z para processar nomes de arquivos arbitrarios. EXPRESSOES REGULARES Uma expressao regular e um padrao que descreve um conjunto de textos. Expressoes regulares sao construidas analogamente as expressoes aritmeticas, usando varios operadores para combinar expressoes menores. grep understands three different versions of regular expression syntax: "basic" (BRE), "extended" (ERE) and "perl" (PCRE). In GNU grep, basic and extended regular expressions are merely different notations for the same pattern-matching functionality. In other implementations, basic regular expressions are ordinarily less powerful than extended, though occasionally it is the other way around. The following description applies to extended regular expressions; differences for basic regular expressions are summarized afterwards. Perl-compatible regular expressions have different functionality, and are documented in pcre2syntax(3) and pcre2pattern(3), but work only if PCRE support is enabled. Os blocos de construcao fundamentais sao as expressoes regulares que coincidem com um unico caractere. A maioria dos caracteres, incluindo todas as letras e digitos, sao expressoes regulares coincidentes. Qualquer metacaractere com significado especial pode ser citado precedendo-o com uma barra invertida. O ponto . coincide com qualquer caractere unico. Nao e especificado se coincide com um erro de codificacao. Classes de caracteres e expressoes entre colchetes Uma expressao entre colchetes e uma lista de caracteres entre [ e ]. Coincide com qualquer caractere unico nessa lista. Se o primeiro caractere da lista for o sinal de intercalacao ^, ele coincidira com qualquer caractere que nao esteja na lista; nao e especificado se coincide com um erro de codificacao. Por exemplo, a expressao regular [0123456789] coincide com qualquer digito unico. Dentro de uma expressao entre colchetes, uma expressao de intervalo consiste em dois caracteres separados por um hifen. Coincide com qualquer caractere unico que classifique entre os dois caracteres, inclusive, usando a sequencia de agrupamento e o conjunto de caracteres da localidade. Por exemplo, no codigo de idioma C padrao, [a-d] e equivalente a [abcd]. Muitos codigos de idioma classificam caracteres na ordem do dicionario e, nesses locais, [a-d] normalmente nao e equivalente a [abcd]; pode ser equivalente a [aBbCcDd], por exemplo. Para obter a interpretacao tradicional de expressoes entre colchetes, voce pode usar o codigo de idioma C configurando a variavel de ambiente LC_ALL para o valor C. Finalmente, certas classes nomeadas de caracteres sao predefinidas nas expressoes entre colchetes, da seguinte maneira. Seus nomes sao autoexplicativos e sao [:alnum:], [:alpha:], [:blank:], [:cntrl:], [:digit:], [:graph:], [:lower:], [:print:], [:punct:], [:space:], [:upper:] e [:xdigit:]. Por exemplo, [[:alnum:]] significa a classe de caracteres de numeros e letras no local atual. Na localidade C e na codificacao do conjunto de caracteres ASCII, e igual a [0-9A-Za-z]. (Observe que os colchetes nesses nomes de classe fazem parte dos nomes simbolicos e devem ser incluidos alem dos colchetes que delimitam a expressao entre colchetes.) A maioria dos metacaracteres perde seu significado especial nas expressoes entre colchetes. Para incluir um ] literal, coloque-o primeiro na lista. Da mesma forma, para incluir um ^ literal, coloque-o em qualquer lugar, exceto primeiro. Finalmente, para incluir um literal -, coloque-o por ultimo. Ancoragem O acento circunflexo (caret) ^ e o cifrao $ sao metacaracteres que coincidem respectivamente com o texto vazio no inicio e no final de uma linha. O caractere de barra invertida e expressoes especiais Os simbolos \< e \> respectivamente coincidem com o texto vazio no inicio e no final de uma palavra. O simbolo \b coincide com o texto vazio na borda de uma palavra e \B coincide com o texto vazio, desde que eu nao esteja na borda de uma palavra. O simbolo \w e sinonimo de [_[:alnum:]] e \W e sinonimo de [^_[:alnum:]]. Repeticao Uma expressao regular pode ser seguida por um dos varios operadores de repeticao: ? O item anterior e opcional e coincide com o maximo uma vez. * O item anterior coincidira com zero ou mais vezes. + O item anterior coincidira com uma ou mais vezes. {n} O item anterior e coincidido exatamente n vezes. {n,} O item anterior e coincidido a n ou mais vezes. {,m} O item anterior e coincidido no maximo m vezes. Esta e uma extensao GNU. {n,m} O item anterior e coincidido pelo menos n vezes, mas nao mais que m vezes. Concatenacao Duas expressoes regulares podem ser concatenadas; a expressao regular resultante coincide com qualquer sequencia formada concatenando duas partes de texto que coincidem respectivamente as expressoes concatenadas. Alternacao Duas expressoes regulares podem ser unidas pelo operador de infixo |; a expressao regular resultante coincide com qualquer texto que coincida com a expressao alternativa. Precedencia A repeticao tem precedencia sobre a concatenacao, que por sua vez tem precedencia sobre a alternancia. Uma expressao inteira pode estar entre parenteses para substituir essas regras de precedencia e formar uma subexpressao. Retrorreferencias e subexpressoes The back-reference \n , where n is a single digit, matches the substring previously matched by the nth parenthesized subexpression of the regular expression. Expressoes regulares basicas vs estendidas Nas expressoes regulares basicas, os metacaracteres ?, +, {, |, ( e ) perdem seu significado especial; em vez disso, use as versoes com barra invertida \?, \+, \{, \|, \( e \). STATUS DE SAIDA Normalmente, o status de saida e 0 se uma linha for selecionada, 1 se nenhuma linha foi selecionada e 2 se ocorreu um erro. No entanto, se B -q ou --quiet ou --silent for usado e uma linha for selecionada, o status de saida sera 0, mesmo que tenha ocorrido um erro. AMBIENTE O comportamento de grep e afetado pelas seguintes variaveis de ambiente. O codigo do idioma da categoria LC_foo e especificado examinando as tres variaveis de ambiente LC_ALL, LC_foo, LANG, nessa ordem. A primeira dessas variaveis configuradas especifica o codigo do idioma. Por exemplo, se LC_ALL nao estiver definido, mas LC_MESSAGES estiver definido como pt_BR, o codigo do idioma portugues do Brasil sera usado para a categoria LC_MESSAGES. O codigo de idioma C e usado se nenhuma dessas variaveis de ambiente estiver definida, se o catalogo de codigos de idioma nao estiver instalado ou se grep nao tiver sido compilado com suporte ao idioma nacional (NLS). O comando de shell locale -a lista as localidades que estao disponiveis no momento. GREP_COLORS Controls how the --color option highlights output. Its value is a colon-separated list of capabilities that defaults to ms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36 with the rv and ne boolean capabilities omitted (i.e., false). Supported capabilities are as follows. sl= Parte de texto de SGR para linhas selecionadas inteiras (ou seja, ocorrencias quando a opcao de linha de comando -v for omitida ou linhas nao coincidentes quando -v for especificado). Se, no entanto, o recurso booleano rv e a opcao de linha de comando -v forem especificadas, ela se aplicara as ocorrencias ao contexto. O padrao esta vazio (ou seja, o par de cores padrao do terminal). cx= Parte de texto de SGR para linhas de contexto inteiras (ou seja, linhas nao coincidentes quando a opcao de linha de comando -v for omitida ou ocorrencias quando -v for especificado). Se, no entanto, o recurso booleano rv e a opcao de linha de comando -v forem especificadas, ela se aplicara as linhas nao coincidentes selecionadas. O padrao esta vazio (ou seja, o par de cores padrao do terminal). rv Valor booleano que reverte (troca) os significados dos recursos sl= e cx= quando a opcao da linha de comandos -v e especificada. O padrao e falso (ou seja, o recurso e omitido). mt=01;31 Parte de texto de SGR para coincidir com um texto nao vazio em qualquer ocorrencia (ou seja, uma linha selecionada quando a opcao de linha de comando -v for omitida ou uma linha de contexto quando -v for especificado). Definir isso e equivalente a definir ms= e mc= de uma so vez para o mesmo valor. O padrao e um primeiro plano em texto em negrito sobre o plano de fundo da linha atual. ms=01;31 Parte de texto de SGR para coincidir com um texto nao vazio em uma linha selecionada. (Isso e usado apenas quando a opcao de linha de comando -v e omitida.) O efeito do recurso sl= (ou cx= se rv) permanece ativo quando isso ocorre. O padrao e um primeiro plano em texto em negrito sobre o plano de fundo da linha atual. mc=01;31 Parte de texto de SGR para coincidir com um texto nao vazio em uma linha de contexto. (Isso e usado apenas quando a opcao de linha de comando -v e especificada.) O efeito do recurso cx= (ou sl= se rv) permanece ativo quando isso ocorre. O padrao e um primeiro plano em texto em negrito sobre o plano de fundo da linha atual. fn=35 Parte de texto de SGR para nomes de arquivos que prefixam qualquer linha de conteudo. O padrao e um texto em primeiro plano de magenta sobre o plano de fundo padrao do terminal. ln=32 Parte de texto de SGR para numeros de linhas que prefixam qualquer linha de conteudo. O padrao e um texto em primeiro plano verde sobre o plano de fundo padrao do terminal. bn=32 Parte de texto de SGR para posicoes de bytes que prefixam qualquer linha de conteudo. O padrao e um texto em primeiro plano verde sobre o plano de fundo padrao do terminal. se=36 Parte de texto de SGR para separadores que sao inseridos entre os campos de linha selecionados (:), entre os campos de linha de contexto, (-) e entre grupos de linhas adjacentes quando um contexto diferente de zero e especificado (--). O padrao e um texto em primeiro plano ciano sobre o plano de fundo padrao do terminal. ne Valor booleano que impede a limpeza ate o final da linha usando Apagar na Linha (EL) para Direita (\33[K) toda vez que um item colorido termina. Isso e necessario em terminais nos quais o EL nao e suportado. Caso contrario, e util em terminais para os quais o recurso booleano terminfo back_color_erase (bce) nao se aplica, quando as cores de realce escolhidas nao afetam o plano de fundo ou quando o EL e muito lento ou causa muita oscilacao. O padrao e falso (ou seja, o recurso e omitido). Observe que os recursos booleanos nao possuem uma parte =.... Eles sao omitidos (ou seja, false) por padrao e se tornam verdadeiros quando especificados. Consulte a secao Select Graphic Rendition (SGR) na documentacao do terminal de texto usado para valores permitidos e seu significado como atributos de caractere. Esses valores de parte de texto sao numeros inteiros na representacao decimal e podem ser concatenados com ponto e virgula. O grep cuida da montagem do resultado em um texto SGR completo (\33[...m). Os valores comuns a concatenar incluem 1 para negrito, 4 para sublinhado, 5 para piscar, 7 para inversa, 39 para cor de primeiro plano padrao, 30 a 37 para cores de primeiro plano, 90 a 97 para modo de 16 cores de primeiro plano, 38;5;0 a 38;5;255 para modos de 88 cores e 256 cores de primeiro plano, 49 para cor de plano de fundo padrao, 40 a 47 para cores de plano de fundo, 100 a 107 para cores de plano de fundo no modo de 16 cores e 48;5;0 para 48;5;255 para os modos 88 e 256 cores. LC_ALL, LC_COLLATE, LANG Essas variaveis especificam o codigo de idioma da categoria LC_COLLATE, que determina a sequencia de agrupamento usada para interpretar expressoes de intervalo como [a-z]. LC_ALL, LC_CTYPE, LANG Essas variaveis especificam o codigo de idioma da categoria LC_CTYPE, que determina o tipo de caracteres, por exemplo, quais caracteres sao espacos em branco. Essa categoria tambem determina a codificacao de caracteres, ou seja, se o texto e codificado em UTF-8, ASCII ou alguma outra codificacao. No codigo de idioma C ou POSIX, todos os caracteres sao codificados como um unico byte e cada byte e um caractere valido. LC_ALL, LC_MESSAGES, LANG Essas variaveis especificam o codigo de idioma da categoria LC_MESSAGES, que determina o idioma que grep usa para mensagens. A localidade C padrao usa mensagens em ingles americano. POSIXLY_CORRECT If set, grep behaves as POSIX requires; otherwise, grep behaves more like other GNU programs. POSIX requires that options that follow file names must be treated as file names; by default, such options are permuted to the front of the operand list and are treated as options. Also, POSIX requires that unrecognized options be diagnosed as "illegal", but since they are not really against the law the default is to diagnose them as "invalid". NOTAS Esta pagina man e mantida apenas de forma adequada; a documentacao completa geralmente e mais atualizada. DIREITOS AUTORAIS Copyright 1998-2000, 2002, 2005-2023 Free Software Foundation, Inc. Este e um software livre; consulte o codigo-fonte para condicoes de copia. Ha NENHUMA garantia; nem mesmo para COMERCIALIZACAO ou ADEQUACAO A UM OBJETIVO ESPECIFICO. BUGS Relatando erros Envie por e-mail relatorios de erros para o endereco de relatorio de erros . Um arquivo de e-mails e um rastreador de erros estao disponiveis. Erros conhecidos Grandes contagens de repeticao na construcao {n,m} podem fazer com que grep use muita memoria. Alem disso, certas outras expressoes regulares obscuras exigem tempo e espaco exponenciais e podem causar a falta de memoria de grep. As retrorreferencias sao muito lentas e podem exigir tempo exponencial. EXEMPLO O exemplo a seguir exibe o local e o conteudo de qualquer linha que contem "f" e termina em ".c", em todos os arquivos no diretorio atual cujos nomes contem "g" e terminam em ".h". A opcao -n emite numeros de linha, o argumento -- trata expansoes de "*g*.h" comecando com "-" como nomes de arquivos, nao como opcoes, e o arquivo vazio /dev/null faz com que os nomes dos arquivos sejam gerados, mesmo que apenas um nome esteja no formato "*g*.h". $ grep -n -- 'f.*\.c$' *g*.h /dev/null argmatch.h:1:/* definitions and prototypes for argmatch.c A unica linha que coincide e a linha 1 de argmatch.h. Observe que a sintaxe da expressao regular usada no padrao difere da sintaxe flutuante que o shell usa para coincidir com os nomes dos arquivos. VEJA TAMBEM Paginas de manual comuns 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) Documentacao completa Um manual completo esta disponivel. Se os programas info e grep estiverem instalados adequadamente em seu sistema, o comando info grep deve lhe dar acesso ao manual completo. TRADUCAO A traducao para portugues brasileiro desta pagina man foi criada por Rafael Fontenelle Esta traducao e uma documentacao livre; leia a Licenca Publica Geral GNU Versao 3 ou posterior para as condicoes de direitos autorais. Nenhuma responsabilidade e aceita. Se voce encontrar algum erro na traducao desta pagina de manual, envie um e-mail para a lista de discussao de tradutores . GNU grep 3.11 2019-12-29 GREP(1)