GREP(1) | General Commands Manual | GREP(1) |
NOME¶
grep, egrep, fgrep - print lines matching a pattern
SINOPSE¶
grep [OPTIONS] PATTERN [FILE...]
grep [OPTIONS] -e PATTERN ... [FILE...]
grep [OPTIONS] -f FILE ... [FILE...]
DESCRIÇÃO¶
grep searches for PATTERN in each FILE. A FILE of “-” stands for standard input. If no FILE is given, recursive searches examine the working directory, and nonrecursive searches read standard input. By default, grep prints the matching lines.
Além disso, os programas variantes egrep e fgrep são os mesmos que grep -E e grep -F, respectivamente. Essas variantes foram descontinuadas, mas são fornecidas para compatibilidade com versões anteriores.
OPÇÕES¶
Informações genéricas do programa¶
- --help
- Emite uma mensagem de uso e sai.
- -V, --version
- Mostra o número de versão do grep e sai.
Matcher Selection¶
- -E, --extended-regexp
- Interpret PATTERN as an extended regular expression (ERE, see below).
- -F, --fixed-strings
- Interpret PATTERN as a list of fixed strings (instead of regular expressions), separated by newlines, any of which is to be matched.
- -G, --basic-regexp
- Interpret PATTERN as a basic regular expression (BRE, see below). This is the default.
- -P, --perl-regexp
- Interpret the pattern as a Perl-compatible regular expression (PCRE). This is experimental and grep -P may warn of unimplemented features.
Controle de coincidências¶
- -e PATTERN, --regexp=PATTERN
- Use PATTERN as the pattern. If this option is used multiple times or is combined with the -f (--file) option, search for all patterns given. This option can be used to protect a pattern beginning with “-”.
- -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.
- -i, --ignore-case
- Ignore case distinctions, so that characters that differ only in case match each other.
- -v, --invert-match
- Inverte o sentido de coincidência, para selecionar linhas que não coincidem.
- -w, --word-regexp
- Seleciona apenas as linhas que coincidem formando palavras inteiras. O teste é que a parte de texto coincidente deve estar no início da linha ou precedida por um caractere que não seja de palavra. Da mesma forma, ele deve estar no final da linha ou ser seguido por um caractere que não seja de palavra. Os caracteres constituintes da palavra são letras, dígitos e o sublinhado. Esta opção não tem efeito se -x também estiver especificado.
- -x, --line-regexp
- Seleciona apenas as partes de texto que coincidem exatamente com a linha inteira. Para um padrão de expressão regular, é como colocar parênteses no padrão e depois envolvê-lo com ^ e $.
- -y
- Sinônimo obsoleto para -i.
Controle geral de saída¶
- -c, --count
- Inibe saída normal; em vez disso, emite uma contagem de linhas que coincidam a cada arquivo de entrada. Com a opção -v, --invert-match (veja acima), conta linhas que não coincidem.
- --color[=QUANDO], --colour[=QUANDO]
- Coloca os textos que coincidem (não vazios), as linhas que coincidem, as linhas de contexto, os nomes dos arquivos, os números das linhas, os posições de bytes e os separadores (para campos e grupos de linhas de contexto) com sequências de escape para exibi-las em cores no terminal. As cores são definidas pela variável de ambiente GREP_COLORS. A variável de ambiente obsoleta GREP_COLOR ainda é suportada, mas sua configuração não tem prioridade. QUANDO é never, always ou auto.
- -L, --files-without-match
- Inibe saída normal; em vez disso, emite o nome de cada arquivo de entrada do qual normalmente nenhuma saída seria emitida. A varredura será interrompida na primeira coincidência.
- -l, --files-with-matches
- Inibe saída normal; em vez disso, emite o nome de cada arquivo de entrada do qual normalmente alguma saída seria emitida. A varredura será interrompida na primeira coincidência.
- -m NÚM, --max-count=NÚM
- Interrompe a leitura um arquivo depois de NÚM ocorrências. Se a entrada for uma entrada padrão de um arquivo comum e NÚM ocorrências forem exibidas, grep garantirá que a entrada padrão seja posicionada logo após a última ocorrência antes de sair, independentemente da presença de linhas de contexto à direita. Isso permite que um processo de chamada retome uma pesquisa. Quando grep interrompe após NÚM ocorrências, ele exibe quaisquer linhas de contexto ao final. Quando a opção -c ou --count também é usada, grep não gera uma contagem maior que NÚM. Quando a opção -v ou --invert-match também é usada, grep interrompe após a saída de NÚM linhas não coincidentes.
- -o, --only-matching
- Emite apenas as partes coincidentes (não vazias) de uma ocorrência, com cada uma dessas partes em uma linha de saída separada.
- -q, --quiet, --silent
- Quieto; não escreve nada na saída padrão. Sai imediatamente com o status zero se alguma coincidente for encontrada, mesmo que um erro tenha sido detectado. Consulte também a opção -s ou --no-messages.
- -s, --no-messages
- Inibe mensagens de erro sobre arquivos inexistentes ou ilegíveis.
Controle de prefixo de linha de saída¶
- -b, --byte-offset
- Emite a posição de byte baseada em 0 no arquivo de entrada antes de cada linha de saída. Se -o (--only-matching) for especificado, emite a posição da própria parte coincidente.
- -H, --with-filename
- Emite o nome do arquivo para cada coincidência. Esse é o padrão quando há mais de um arquivo para pesquisar.
- -h, --no-filename
- Inibe a prefixação dos nomes dos arquivos na saída. Esse é o padrão quando há apenas um arquivo (ou apenas entrada padrão) para pesquisar.
- --label=RÓTULO
- Display input actually coming from standard input as input coming from file LABEL. This is especially useful when implementing tools like zgrep, e.g., gzip -cd foo.gz | grep --label=foo -H something. See also the -H option.
- -n, --line-number
- Prefixa cada linha de saída com o número da linha com base em 1 em seu arquivo de entrada.
- -T, --initial-tab
- Verifica se o primeiro caractere do conteúdo real da linha está em uma parada de tabulação, para que o alinhamento das tabulações pareça normal. Isso é útil com opções que prefixam sua saída para o conteúdo real: -H, -n e -b. Para aumentar a probabilidade de que as linhas de um único arquivo sejam iniciadas na mesma coluna, isso também faz com que o número da linha e a posição de bytes (se houver) sejam emitidos em uma largura de campo de tamanho mínimo.
- -u, --unix-byte-offsets
- Relata posições de bytes no estilo Unix. Essa opção faz com que grep relate posições de bytes como se o arquivo fosse um arquivo de texto no estilo Unix, ou seja, com caracteres CR removidos. Isso produzirá resultados idênticos aos da execução de grep em uma máquina Unix. Esta opção não tem efeito, a menos que a opção -b também seja usada; não tem efeito em plataformas diferentes de MS-DOS e MS-Windows.
- -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 após cada nome de arquivo, em vez da nova linha usual. Essa opção torna a saída inequívoca, mesmo na presença de nomes de arquivos contendo caracteres incomuns, como novas linhas. Essa opção pode ser usada com comandos como find -print0, perl -0, sort -z e xargs -0 para processar nomes de arquivos arbitrários, mesmo aqueles que contêm caracteres de nova linha.
Controle de linha de contexto¶
- -A NÚM, --after-context=NÚM
- Emite NÚM linhas de contexto à direita após as ocorrências. Coloca uma linha que contém um separador de grupo (--) entre grupos contíguos de coincidências. Com a opção -o ou --only-matching, isso não tem efeito e um aviso é dado.
- -B NÚM, --before-context=NÚM
- Emite NÚM linhas de contexto no início antes das ocorrências. Coloca uma linha que contém um separador de grupo (--) entre grupos contíguos de coincidências. Com a opção -o ou --only-matching, isso não tem efeito e um aviso é dado.
- -C NÚM, -NÚM, --context=NÚM
- Emite NÚM linhas de saída do contexto. Coloca uma linha que contém um separador de grupo (--) entre grupos contíguos de coincidências. Com a opção -o ou --only-matching, isso não tem efeito e um aviso é dado.
Seleção de arquivo e diretório¶
- -a, --text
- Processa um arquivo binário como se fosse texto; isso é equivalente à opção --binary-files=text.
- --binary-files=TIPO
- Se os dados ou metadados de um arquivo indicarem que o arquivo contém dados binários, supõe que o arquivo seja do tipo TIPO. Bytes sem texto indicam dados binários; esses são bytes de saída codificados incorretamente para o código do idioma atual ou bytes de entrada nulos quando a opção -z não é fornecida.
- By default, TYPE is binary, and when grep discovers that a file is binary it suppresses any further output, and instead outputs either a one-line message saying that a binary file matches, or no message if there is no match.
- If TYPE is without-match, when grep discovers that a file is binary it assumes that the rest of the file does not match; this is equivalent to the -I option.
- Se TIPO for text, grep processa um arquivo binário como se fosse texto; isso é equivalente à opção -a.
- Quando tipo é binary, grep pode tratar bytes, que não sejam de texto, como terminadores de linha, mesmo sem a opção -z. Isso significa que escolher binary em vez de text pode afetar se um padrão coincide com um arquivo. Por exemplo, quando tipo é binary, o padrão q$ might coincide com q imediatamente seguido por um byte nulo, mesmo que isso não coincida quando tipo é text. Por outro lado, quando tipo é binary, o padrão . (ponto) pode não coincidir a um byte nulo.
- Aviso: A opção -a pode gerar lixo binário, que pode ter efeitos colaterais desagradáveis se a saída for um terminal e se o driver do terminal interpretar alguns deles como comandos. Por outro lado, ao ler arquivos cujas codificações de texto são desconhecidas, pode ser útil usar -a ou definir LC_ALL='C' no ambiente, para encontrar ocorrências, mesmo que estas não sejam seguras para exibição direta.
- -D AÇÃO, --devices=AÇÃO
- Se um arquivo de entrada for um dispositivo, FIFO ou soquete, usa AÇÃO para processá-lo. Por padrão, AÇÃO é read, o que significa que os dispositivos são lidos como se fossem arquivos comuns. Se AÇÃO for skip, os dispositivos serão ignorados silenciosamente.
- -d AÇÃO, --directories=AÇÃO
- Se um arquivo de entrada for um diretório, usa AÇÃO para processá-lo. Por padrão, AÇÃO é read, ou seja, lê os diretórios como se fossem arquivos comuns. Se AÇÃO for skip, pula silenciosamente os diretórios. Se AÇÃO for recurse, lê todos os arquivos em cada diretório, recursivamente, seguindo os links simbólicos apenas se estiverem na linha de comando. Isso é equivalente à opção -r.
- --exclude=GLOB
- Skip any command-line file with a name suffix that matches the pattern GLOB, using wildcard matching; a name suffix is either the whole name, or any suffix starting after a / and before a +non-/. When searching recursively, skip any subfile whose base name matches GLOB; the base name is the part after the last /. A pattern can use *, ?, and [...] as wildcards, and \ to quote a wildcard or backslash character literally.
- --exclude-from=ARQUIVO
- Ignora arquivos cujo nome base coincide com qualquer um dos globs de nome de arquivo lidos em ARQUIVO (usando a coincidência curinga conforme descrito em --exclude).
- --exclude-dir=GLOB
- Pula qualquer diretório da linha de comandos com um sufixo de nome que coincida com o padrão GLOB. Ao pesquisar recursivamente, pula qualquer subdiretório cujo nome base coincida com GLOB. Ignora as barras finais redundantes em GLOB.
- -I
- Processa um arquivo binário como se não contivesse dados de coincidência isso é equivalente à opção --binary-files=without-match.
- --include=GLOB
- Search only files whose base name matches GLOB (using wildcard matching as described under --exclude).
- -r, --recursive
- Lê todos os arquivos em cada diretório, recursivamente, seguindo os links simbólicos apenas se estiverem na linha de comando. Observe que, se nenhum operando de arquivo for fornecido, o grep pesquisará o diretório de trabalho. Isso é equivalente à opção -d recurse.
- -R, --dereference-recursive
- Lê todos os arquivos em cada diretório, recursivamente. Segue todos os links simbólicos, ao contrário de -r.
Outras opções¶
- --line-buffered
- Usa buffer de linha na saída. Isso pode causar uma penalidade de desempenho.
- -U, --binary
- Trata os arquivos como binários. Por padrão, em MS-DOS e MS-Windows, grep calcula se um arquivo é texto ou binário, conforme descrito para a opção --binary-files. Se grep decidir que o arquivo é um arquivo de texto, ele remove os caracteres CR do conteúdo original do arquivo (para fazer expressões regulares com ^ e $ funcionarem corretamente). A especificação de -U anula essas suposições, fazendo com que todos os arquivos sejam lidos e passados para o mecanismo de coincidência literalmente; se o arquivo for um arquivo de texto com pares CR/LF no final de cada linha, isso fará com que algumas expressões regulares falhem. Esta opção não tem efeito em plataformas diferentes do MS-DOS e MS-Windows.
- -z, --null-data
- Trata os dados de entrada e saída como sequências de linhas, cada uma terminada por um byte zero (o caractere ASCII NUL) em vez de uma nova linha. Como a opção -Z ou --null, esta opção pode ser usada com comandos como sort -z para processar nomes de arquivos arbitrários.
EXPRESSÕES REGULARES¶
Uma expressão regular é um padrão que descreve um conjunto de textos. Expressões regulares são construídas analogamente às expressões aritméticas, usando vários operadores para combinar expressões menores.
grep compreende três versões diferentes da sintaxe de expressão regular: “básica” (BRE), “estendida” (ERE) e “perl” (PCRE). No GNU grep, não há diferença na funcionalidade disponível entre sintaxes básica e estendida. Em outras implementações, expressões regulares básicas são menos poderosas. A descrição a seguir se aplica a expressões regulares estendidas; as diferenças para expressões regulares básicas são resumidas posteriormente. Expressões regulares compatíveis com Perl fornecem funcionalidade adicional e estão documentadas em pcresyntax(3) e pcrepattern(3), mas funcionam apenas se PCRE estiver disponível no sistema.
Os blocos de construção fundamentais são as expressões regulares que coincidem com um único caractere. A maioria dos caracteres, incluindo todas as letras e dígitos, são expressões regulares coincidentes. Qualquer metacaractere com significado especial pode ser citado precedendo-o com uma barra invertida.
The period . matches any single character.
Classes de caracteres e expressões entre colchetes¶
A bracket expression is a list of characters enclosed by [ and ]. It matches any single character in that list; if the first character of the list is the caret ^ then it matches any character not in the list. For example, the regular expression [0123456789] matches any single digit.
Dentro de uma expressão entre colchetes, uma expressão de intervalo consiste em dois caracteres separados por um hífen. Coincide com qualquer caractere único que classifique entre os dois caracteres, inclusive, usando a sequência de agrupamento e o conjunto de caracteres da localidade. Por exemplo, no código de idioma C padrão, [a-d] é equivalente a [abcd]. Muitos códigos de idioma classificam caracteres na ordem do dicionário e, nesses locais, [a-d] normalmente não é equivalente a [abcd]; pode ser equivalente a [aBbCcDd], por exemplo. Para obter a interpretação tradicional de expressões entre colchetes, você pode usar o código de idioma C configurando a variável de ambiente LC_ALL para o valor C.
Finally, certain named classes of characters are predefined within bracket expressions, as follows. Their names are self explanatory, and they are [:alnum:], [:alpha:], [:cntrl:], [:digit:], [:graph:], [:lower:], [:print:], [:punct:], [:space:], [:upper:], and [:xdigit:]. For example, [[:alnum:]] means the character class of numbers and letters in the current locale. In the C locale and ASCII character set encoding, this is the same as [0-9A-Za-z]. (Note that the brackets in these class names are part of the symbolic names, and must be included in addition to the brackets delimiting the bracket expression.) Most meta-characters lose their special meaning inside bracket expressions. To include a literal ] place it first in the list. Similarly, to include a literal ^ place it anywhere but first. Finally, to include a literal - place it last.
Ancoragem¶
O acento circunflexo (caret) ^ e o cifrão $ são metacaracteres que coincidem respectivamente com o texto vazio no início e no final de uma linha.
O caractere de barra invertida e expressões especiais¶
Os símbolos \< e \> respectivamente coincidem com o texto vazio no início e no final de uma palavra. O símbolo \b coincide com o texto vazio na borda de uma palavra e \B coincide com o texto vazio, desde que eu não esteja na borda de uma palavra. O símbolo \w é sinônimo de [_[:alnum:]] e \W é sinônimo de [^_[:alnum:]].
Repetição¶
Uma expressão regular pode ser seguida por um dos vários operadores de repetição:
- ?
- O item anterior é opcional e coincide com o máximo uma vez.
- *
- O item anterior coincidirá com zero ou mais vezes.
- +
- O item anterior coincidirá com uma ou mais vezes.
- {n}
- O item anterior é coincidido exatamente n vezes.
- {n,}
- O item anterior é coincidido a n ou mais vezes.
- {,m}
- O item anterior é coincidido no máximo m vezes. Esta é uma extensão GNU.
- {n,m}
- O item anterior é coincidido pelo menos n vezes, mas não mais que m vezes.
Concatenação¶
Duas expressões regulares podem ser concatenadas; a expressão regular resultante coincide com qualquer sequência formada concatenando duas partes de texto que coincidem respectivamente às expressões concatenadas.
Alternação¶
Duas expressões regulares podem ser unidas pelo operador de infixo |; a expressão regular resultante coincide com qualquer texto que coincida com a expressão alternativa.
Precedência¶
A repetição tem precedência sobre a concatenação, que por sua vez tem precedência sobre a alternância. Uma expressão inteira pode estar entre parênteses para substituir essas regras de precedência e formar uma subexpressão.
Back References and Subexpressions¶
A retrorreferência \n, onde n é um único dígito, coincide à parte de texto anteriormente coincidida pela n-ésima subexpressão entre parênteses da expressão regular.
Expressões regulares básicas vs estendidas¶
Nas expressões regulares básicas, os metacaracteres ?, +, {, |, ( e ) perdem seu significado especial; em vez disso, use as versões com barra invertida \?, \+, \{, \|, \( e \).
VARIÁVEIS DE AMBIENTE¶
O comportamento de grep é afetado pelas seguintes variáveis de ambiente.
O código do idioma da categoria LC_foo é especificado examinando as três variáveis de ambiente LC_ALL, LC_foo, LANG, nessa ordem. A primeira dessas variáveis configuradas especifica o código do idioma. Por exemplo, se LC_ALL não estiver definido, mas LC_MESSAGES estiver definido como pt_BR, o código do idioma português do Brasil será usado para a categoria LC_MESSAGES. O código de idioma C é usado se nenhuma dessas variáveis de ambiente estiver definida, se o catálogo de códigos de idioma não estiver instalado ou se grep não tiver sido compilado com suporte ao idioma nacional (NLS). O comando de shell locale -a lista as localidades que estão disponíveis no momento.
- GREP_OPTIONS
- This variable specifies default options to be placed in front of any explicit options. As this causes problems when writing portable scripts, this feature will be removed in a future release of grep, and grep warns if it is used. Please use an alias or script instead.
- GREP_COLOR
- Essa variável especifica a cor usada para realçar o texto coincidente (não vazio). Ela foi descontinuada em favor de GREP_COLORS, mas ainda é suportada. Os recursos mt, ms e mc de GREP_COLORS têm prioridade sobre ela. Ela pode especificar apenas a cor usada para realçar o texto não vazio coincidente em qualquer ocorrência (uma linha selecionada quando a opção de linha de comando -v for omitida ou uma linha de contexto quando -v for especificado) . O padrão é 01;31, o que significa um texto em primeiro plano em negrito no fundo padrão do terminal.
- GREP_COLORS
- Especifica as cores e outros atributos usados para realçar várias partes da saída. Seu valor é uma lista de recursos separados por dois pontos, cujo padrão é ms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36 com os recursos booleanos rv e ne omitidos (ou seja, false). Os recursos suportados são os seguintes.
- sl=
- Parte de texto de SGR para linhas selecionadas inteiras (ou seja, ocorrências quando a opção de linha de comando -v for omitida ou linhas não coincidentes quando -v for especificado). Se, no entanto, o recurso booleano rv e a opção de linha de comando -v forem especificadas, ela se aplicará às ocorrências ao contexto. O padrão está vazio (ou seja, o par de cores padrão do terminal).
- cx=
- Parte de texto de SGR para linhas de contexto inteiras (ou seja, linhas não coincidentes quando a opção de linha de comando -v for omitida ou ocorrências quando -v for especificado). Se, no entanto, o recurso booleano rv e a opção de linha de comando -v forem especificadas, ela se aplicará às linhas não coincidentes selecionadas. O padrão está vazio (ou seja, o par de cores padrão do terminal).
- rv
- Valor booleano que reverte (troca) os significados dos recursos sl= e cx= quando a opção da linha de comandos -v é especificada. O padrão é falso (ou seja, o recurso é omitido).
- mt=01;31
- Parte de texto de SGR para coincidir com um texto não vazio em qualquer ocorrência (ou seja, uma linha selecionada quando a opção de linha de comando -v for omitida ou uma linha de contexto quando -v for especificado). Definir isso é equivalente a definir ms= e mc= de uma só vez para o mesmo valor. O padrão é 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 não vazio em uma linha selecionada. (Isso é usado apenas quando a opção de linha de comando -v é omitida.) O efeito do recurso sl= (ou cx= se rv) permanece ativo quando isso ocorre. O padrão é 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 não vazio em uma linha de contexto. (Isso é usado apenas quando a opção de linha de comando -v é especificada.) O efeito do recurso cx= (ou sl= se rv) permanece ativo quando isso ocorre. O padrão é 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 conteúdo. O padrão é um texto em primeiro plano de magenta sobre o plano de fundo padrão do terminal.
- ln=32
- Parte de texto de SGR para números de linhas que prefixam qualquer linha de conteúdo. O padrão é um texto em primeiro plano verde sobre o plano de fundo padrão do terminal.
- bn=32
- Parte de texto de SGR para posições de bytes que prefixam qualquer linha de conteúdo. O padrão é um texto em primeiro plano verde sobre o plano de fundo padrão do terminal.
- se=36
- Parte de texto de SGR para separadores que são 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 é especificado (--). O padrão é um texto em primeiro plano ciano sobre o plano de fundo padrão do terminal.
- ne
- Boolean value that prevents clearing to the end of line using Erase in Line (EL) to Right (\33[K) each time a colorized item ends. This is needed on terminals on which EL is not supported. It is otherwise useful on terminals for which the back_color_erase (bce) boolean terminfo capability does not apply, when the chosen highlight colors do not affect the background, or when EL is too slow or causes too much flicker. The default is false (i.e., the capability is omitted).
Note that boolean capabilities have no =... part. They are omitted (i.e., false) by default and become true when specified.
See the Select Graphic Rendition (SGR) section in the documentation of the text terminal that is used for permitted values and their meaning as character attributes. These substring values are integers in decimal representation and can be concatenated with semicolons. grep takes care of assembling the result into a complete SGR sequence (\33[...m). Common values to concatenate include 1 for bold, 4 for underline, 5 for blink, 7 for inverse, 39 for default foreground color, 30 to 37 for foreground colors, 90 to 97 for 16-color mode foreground colors, 38;5;0 to 38;5;255 for 88-color and 256-color modes foreground colors, 49 for default background color, 40 to 47 for background colors, 100 to 107 for 16-color mode background colors, and 48;5;0 to 48;5;255 for 88-color and 256-color modes background colors.
- LC_ALL, LC_COLLATE, LANG
- Essas variáveis especificam o código de idioma da categoria LC_COLLATE, que determina a sequência de agrupamento usada para interpretar expressões de intervalo como [a-z].
- LC_ALL, LC_CTYPE, LANG
- Essas variáveis especificam o código de idioma da categoria LC_CTYPE, que determina o tipo de caracteres, por exemplo, quais caracteres são espaços em branco. Essa categoria também determina a codificação de caracteres, ou seja, se o texto é codificado em UTF-8, ASCII ou alguma outra codificação. No código de idioma C ou POSIX, todos os caracteres são codificados como um único byte e cada byte é um caractere válido.
- LC_ALL, LC_MESSAGES, LANG
- Essas variáveis especificam o código de idioma da categoria LC_MESSAGES, que determina o idioma que grep usa para mensagens. A localidade C padrão usa mensagens em inglês americano.
- POSIXLY_CORRECT
- Se definida, grep se comporta conforme requer o POSIX; caso contrário, grep se comporta mais como outros programas GNU. O POSIX requer que as opções que seguem os nomes dos arquivos sejam tratadas como nomes de arquivo; por padrão, essas opções são permutadas para a frente da lista de operandos e são tratadas como opções. Além disso, o POSIX exige que as opções não reconhecidas sejam diagnosticadas como “ilegais”, mas como elas não são realmente contrárias à lei, o padrão é diagnosticá-las como “inválidas”. POSIXLY_CORRECT também desativa _N_GNU_nonoption_argv_flags_, descrito abaixo.
- _N_GNU_nonoption_argv_flags_
- (Aqui N é o ID numérico do processo de grep.) Se o i-nésimo caractere do valor dessa variável de ambiente for 1, não considera o i-nésimo operando de grep para ser uma opção, mesmo que pareça ser uma. Um shell pode colocar essa variável no ambiente para cada comando executado, especificando quais operandos são os resultados da expansão de curinga do nome do arquivo e, portanto, não devem ser tratados como opções. Esse comportamento está disponível apenas na biblioteca GNU C e somente quando POSIXLY_CORRECT não está definida.
STATUS DE SAÍDA¶
Normalmente, o status de saída é 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 saída será 0, mesmo que tenha ocorrido um erro.
DIREITOS AUTORAIS¶
Copyright 1998–2000, 2002, 2005–2017 Free Software Foundation, Inc.
Este é um software livre; consulte o código-fonte para condições de cópia. Há NENHUMA garantia; nem mesmo para COMERCIALIZAÇÃO ou ADEQUAÇÃO A UM OBJETIVO ESPECÍFICO.
BUGS¶
Relatando erros¶
Email bug reports to An and a are available.
Erros conhecidos¶
Grandes contagens de repetição na construção {n,m} podem fazer com que grep use muita memória. Além disso, certas outras expressões regulares obscuras exigem tempo e espaço exponenciais e podem causar a falta de memória de grep.
As retrorreferências são muito lentas e podem exigir tempo exponencial.
VEJA TAMBÉM¶
Páginas de manual comuns¶
awk(1), cmp(1), diff(1), find(1), gzip(1), perl(1), sed(1), sort(1), xargs(1), zgrep(1), read(2), pcre(3), pcresyntax(3), pcrepattern(3), terminfo(5), glob(7), regex(7).
POSIX Programmer's Manual Page¶
grep(1p).
Documentação completa¶
A is available. If the info and grep programs are properly installed at your site, the command
- info grep
deve lhe dar acesso ao manual completo.
NOTAS¶
Esta página man é mantida apenas de forma adequada; a documentação completa geralmente é mais atualizada.
TRADUÇÃO¶
A tradução para português brasileiro desta página man foi criada por Rafael Fontenelle <rafaelff@gnome.org>
Esta tradução é uma documentação livre; leia a Licença Pública Geral GNU Versão 3 ou posterior para as condições de direitos autorais. Nenhuma responsabilidade é aceita.
Se você encontrar algum erro na tradução desta página de manual, envie um e-mail para a lista de discussão de tradutores.
GNU grep 3.1 | Comandos de usuário |