.\" -*- coding: UTF-8 -*-
.de dT
.ds Dt \\$2
..
.\" GNU grep man page
.dT Time-stamp: 2018-05-11
.\" Update the above date whenever a change to either this file or
.\" grep.c's 'usage' function results in a nontrivial change to the man page.
.\" In Emacs, you can update the date by running 'M-x time-stamp'
.\" after you make a change that you decide is nontrivial.
.\" It is no big deal to forget to update the date.
.
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH GREP 1 \*(Dt "GNU grep 3.3" "Comandos de usuário"
.
.if !\w|\*(lq| \{\
.\" groff an-old.tmac does not seem to be in use, so define lq and rq.
. ie \n(.g \{\
. ds lq \(lq\"
. ds rq \(rq\"
. \}
. el \{\
. ds lq ``
. ds rq ''
. \}
.\}
.
.if !\w|\*(la| \{\
.\" groff an-ext.tmac does not seem to be in use, so define the parts of
.\" it that are used below. For a copy of groff an-ext.tmac, please see:
.\" https://git.savannah.gnu.org/cgit/groff.git/plain/tmac/an-ext.tmac
.\" --- Start of lines taken from groff an-ext.tmac
.
.\" Check whether we are using grohtml.
.nr mH 0
.if \n(.g \
. if '\*(.T'html' \
. nr mH 1
.
.
.\" Map mono-width fonts to standard fonts for groff's TTY device.
.if n \{\
. do ftr CR R
. do ftr CI I
. do ftr CB B
.\}
.
.\" groff has glyph entities for angle brackets.
.ie \n(.g \{\
. ds la \(la\"
. ds ra \(ra\"
.\}
.el \{\
. ds la <\"
. ds ra >\"
. \" groff's man macros control hyphenation with this register.
. nr HY 1
.\}
.
.\" Start URL.
.de UR
. ds m1 \\$1\"
. nh
. if \\n(mH \{\
. \" Start diversion in a new environment.
. do ev URL-div
. do di URL-div
. \}
..
.
.
.\" End URL.
.de UE
. ie \\n(mH \{\
. br
. di
. ev
.
. \" Has there been one or more input lines for the link text?
. ie \\n(dn \{\
. do HTML-NS ""
. \" Yes, strip off final newline of diversion and emit it.
. do chop URL-div
. do URL-div
\c
. do HTML-NS
. \}
. el \
. do HTML-NS "\\*(m1"
\&\\$*\"
. \}
. el \
\\*(la\\*(m1\\*(ra\\$*\"
.
. hy \\n(HY
..
.
.
.\" Start email address.
.de MT
. ds m1 \\$1\"
. nh
. if \\n(mH \{\
. \" Start diversion in a new environment.
. do ev URL-div
. do di URL-div
. \}
..
.
.
.\" End email address.
.de ME
. ie \\n(mH \{\
. br
. di
. ev
.
. \" Has there been one or more input lines for the link text?
. ie \\n(dn \{\
. do HTML-NS ""
. \" Yes, strip off final newline of diversion and emit it.
. do chop URL-div
. do URL-div
\c
. do HTML-NS
. \}
. el \
. do HTML-NS "\\*(m1"
\&\\$*\"
. \}
. el \
\\*(la\\*(m1\\*(ra\\$*\"
.
. hy \\n(HY
..
.\" --- End of lines taken from groff an-ext.tmac
.\}
.
.hy 0
.
.SH NOME
grep, egrep, fgrep, rgrep \- emite linhas que coincidem com padrões
.
.SH SINOPSE
\fBgrep\fP [\fIOPÇÃO\fP.\|.\|.]\& \fIPADRÕES\fP [\fIARQUIVO\fP.\|.\|.]
.br
\fBgrep\fP [\fIOPÇÃO\fP.\|.\|.]\& \fB\-e\fP \fIPADRÕES\fP \&.\|.\|.\& [\fIARQUIVO\fP.\|.\|.]
.br
\fBgrep\fP [\fIOPÇÃO\fP.\|.\|.]\& \fB\-f\fP \fIARQUIVO_PADRÃO\fP \&.\|.\|.\&
[\fIARQUIVO\fP.\|.\|.]
.
.SH DESCRIÇÃO
\fBgrep\fP pesquisa \fIPADRÕES\fP em cada \fIARQUIVO\fP. \fIPADRÕES\fP é um ou padrões
separados por caracteres de nova linha e \fBgrep\fP emite cada linha que
coincide com um padrão.
.PP
Um \fIARQUIVO\fP de \*(lq\fB\-\fP\*(rq significa entrada padrão. Se nenhum \fIARQUIVO\fP for
fornecido, as pesquisas recursivas examinam o diretório de trabalho e as
pesquisas não\-recursivas leem a entrada padrão.
.PP
Além disso, os programas variantes \fBegrep\fP, \fBfgrep\fP e \fBrgrep\fP são os
mesmos que \fBgrep\ \-E\fP, \fBgrep\ \-F\fP e \fBgrep\ \-r\fP, respectivamente. Essas
variantes foram descontinuadas, mas são fornecidas para compatibilidade com
versões anteriores.
.
.SH OPÇÕES
.SS "Informações genéricas do programa"
.TP
\fB\-\^\-help\fP
Emite uma mensagem de uso e sai.
.TP
\fB\-V\fP, \fB\-\^\-version\fP
Mostra o número de versão do \fBgrep\fP e sai.
.SS "Seleção de coincidência"
.TP
\fB\-E\fP, \fB\-\^\-extended\-regexp\fP
Interpreta \fIPADRÕES\fP como expressões regulares estendidas (EREs, veja
abaixo).
.TP
\fB\-F\fP, \fB\-\^\-fixed\-strings\fP
Interpreta \fIPADRÕES\fP como textos fixos, não como expressões regulares.
.TP
\fB\-G\fP, \fB\-\^\-basic\-regexp\fP
Interpreta \fIPADRÕES\fP como expressões regulares básicas (BREs, veja
abaixo). Esse é o padrão.
.TP
\fB\-P\fP, \fB\-\^\-perl\-regexp\fP
Interpreta \fIPADRÕES\fP como expressões regulares compatíveis com Perl
(PCREs). Essa opção é experimental quando combinada com a opção \fB\-z\fP
(\fB\-\^\-null\-data\fP) e \fBgrep \-P\fP pode avisar sobre recursos não
implementados.
.SS "Controle de coincidências"
.TP
\fB\-e\fP\fI PADRÕES\fP,\fB \-\^\-regexp=\fP\fIPADRÕES\fP
Usa \fIPADRÕES\fP como os padrões. Se esta opção for usada várias vezes ou for
combinada com a opção \fB\-f\fP (\fB\-\^\-file\fP), pesquisa por todos os padrões
fornecidos. Esta opção pode ser usada para proteger um padrão começando com
\*(lq\-\*(rq.
.TP
\fB\-f\fP\fI ARQUIVO\fP,\fB \-\^\-file=\fP\fIARQUIVO\fP
Obtém padrões de \fIARQUIVO\fP, um por linha. Se esta opção for usada várias
vezes ou for combinada com a opção \fB\-e\fP (\fB\-\^\-regexp\fP), pesquisa todos os
padrões fornecidos. O arquivo vazio contém zero padrões e, portanto, não
coincide com nada.
.TP
\fB\-i\fP, \fB\-\^\-ignore\-case\fP
Ignora as distinções entre maiúsculas e minúsculas, para que os caracteres
que diferem apenas no caso coincidam um com o outro.
.TP
\fB\-v\fP, \fB\-\^\-invert\-match\fP
Inverte o sentido de coincidência, para selecionar linhas que não coincidem.
.TP
\fB\-w\fP, \fB\-\^\-word\-regexp\fP
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 \fB\-x\fP também estiver especificado.
.TP
\fB\-x\fP, \fB\-\^\-line\-regexp\fP
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 \fB^\fP e \fB$\fP.
.TP
\fB\-y\fP
Sinônimo obsoleto para \fB\-i\fP.
.SS "Controle geral de saída"
.TP
\fB\-c\fP, \fB\-\^\-count\fP
Inibe saída normal; em vez disso, emite uma contagem de linhas que coincidam
a cada arquivo de entrada. Com a opção \fB\-v\fP, \fB\-\^\-invert\-match\fP (veja
acima), conta linhas que não coincidem.
.TP
\fB\-\^\-color\fP[\fB=\fP\fIQUANDO\fP], \fB\-\^\-colour\fP[\fB=\fP\fIQUANDO\fP]
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 \fBGREP_COLORS\fP. A variável de
ambiente obsoleta \fBGREP_COLOR\fP ainda é suportada, mas sua configuração não
tem prioridade. \fIQUANDO\fP é \fBnever\fP, \fBalways\fP ou \fBauto\fP.
.TP
\fB\-L\fP, \fB\-\^\-files\-without\-match\fP
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.
.TP
\fB\-l\fP, \fB\-\^\-files\-with\-matches\fP
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.
.TP
\fB\-m\fP\fI NÚM\fP,\fB \-\^\-max\-count=\fP\fINÚM\fP
Interrompe a leitura um arquivo depois de \fINÚM\fP ocorrências. Se a entrada
for uma entrada padrão de um arquivo comum e \fINÚM\fP ocorrências forem
exibidas, \fBgrep\fP 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 \fBgrep\fP interrompe após \fINÚM\fP ocorrências, ele exibe
quaisquer linhas de contexto ao final. Quando a opção \fB\-c\fP ou \fB\-\^\-count\fP
também é usada, \fBgrep\fP não gera uma contagem maior que \fINÚM\fP. Quando a
opção \fB\-v\fP ou \fB\-\^\-invert\-match\fP também é usada, \fBgrep\fP interrompe após a
saída de \fINÚM\fP linhas não coincidentes.
.TP
\fB\-o\fP, \fB\-\^\-only\-matching\fP
Emite apenas as partes coincidentes (não vazias) de uma ocorrência, com cada
uma dessas partes em uma linha de saída separada.
.TP
\fB\-q\fP, \fB\-\^\-quiet\fP, \fB\-\^\-silent\fP
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 \fB\-s\fP ou \fB\-\^\-no\-messages\fP.
.TP
\fB\-s\fP, \fB\-\^\-no\-messages\fP
Inibe mensagens de erro sobre arquivos inexistentes ou ilegíveis.
.SS "Controle de prefixo de linha de saída"
.TP
\fB\-b\fP, \fB\-\^\-byte\-offset\fP
Emite a posição de byte baseada em 0 no arquivo de entrada antes de cada
linha de saída. Se \fB\-o\fP (\fB\-\^\-only\-matching\fP) for especificado, emite a
posição da própria parte coincidente.
.TP
\fB\-H\fP, \fB\-\^\-with\-filename\fP
Emite o nome do arquivo para cada coincidência. Esse é o padrão quando há
mais de um arquivo para pesquisar.
.TP
\fB\-h\fP, \fB\-\^\-no\-filename\fP
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.
.TP
\fB\-\^\-label=\fP\fIRÓTULO\fP
Exibe a entrada proveniente da entrada padrão como uma entrada proveniente
do \fIRÓTULO\fP de arquivo. Isso é especialmente útil ao implementar
ferramentas como \fBzgrep\fP, por exemplo, \fBgzip \-cd foo.gz | grep
\-\^\-label=foo \-H algo\fP. Veja também a opção \fB\-H\fP.
.TP
\fB\-n\fP, \fB\-\^\-line\-number\fP
Prefixa cada linha de saída com o número da linha com base em 1 em seu
arquivo de entrada.
.TP
\fB\-T\fP, \fB\-\^\-initial\-tab\fP
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:
\fB\-H\fP, \fB\-n\fP e \fB\-b\fP. 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.
.TP
\fB\-u\fP, \fB\-\^\-unix\-byte\-offsets\fP
Relata posições de bytes no estilo Unix. Essa opção faz com que \fBgrep\fP
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 \fBgrep\fP em uma máquina Unix. Esta opção não tem
efeito, a menos que a opção \fB\-b\fP também seja usada; não tem efeito em
plataformas diferentes de MS\-DOS e MS\-Windows.
.TP
\fB\-Z\fP, \fB\-\^\-null\fP
Emite um byte zero (o caractere ASCII \fBNUL\fP) em vez do caractere que
normalmente segue um nome de arquivo. Por exemplo, \fBgrep \-lZ\fP 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 \fBfind \-print0\fP, \fBperl \-0\fP, \fBsort \-z\fP e \fBxargs \-0\fP para
processar nomes de arquivos arbitrários, mesmo aqueles que contêm caracteres
de nova linha.
.SS "Controle de linha de contexto"
.TP
\fB\-A\fP\fI NÚM\fP,\fB \-\^\-after\-context=\fP\fINÚM\fP
Emite \fINÚM\fP linhas de contexto à direita após as ocorrências. Coloca uma
linha que contém um separador de grupo (\fB\-\^\-\fP) entre grupos contíguos de
coincidências. Com a opção \fB\-o\fP ou \fB\-\^\-only\-matching\fP, isso não tem
efeito e um aviso é dado.
.TP
\fB\-B\fP\fI NÚM\fP,\fB \-\^\-before\-context=\fP\fINÚM\fP
Emite \fINÚM\fP linhas de contexto no início antes das ocorrências. Coloca uma
linha que contém um separador de grupo (\fB\-\^\-\fP) entre grupos contíguos de
coincidências. Com a opção \fB\-o\fP ou \fB\-\^\-only\-matching\fP, isso não tem
efeito e um aviso é dado.
.TP
\fB\-C\fP\fI NÚM\fP,\fB \-\fP\fINÚM\fP,\fB \-\^\-context=\fP\fINÚM\fP
Emite \fINÚM\fP linhas de saída do contexto. Coloca uma linha que contém um
separador de grupo (\fB\-\^\-\fP) entre grupos contíguos de coincidências. Com a
opção \fB\-o\fP ou \fB\-\^\-only\-matching\fP, isso não tem efeito e um aviso é dado.
.SS "Seleção de arquivo e diretório"
.TP
\fB\-a\fP, \fB\-\^\-text\fP
Processa um arquivo binário como se fosse texto; isso é equivalente à opção
\fB\-\^\-binary\-files=text\fP.
.TP
\fB\-\^\-binary\-files=\fP\fITIPO\fP
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 \fITIPO\fP. 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 \fB\-z\fP não é
fornecida.
.IP
Por padrão, \fITIPO\fP é \fBbinary\fP, e quando \fBgrep\fP descobre que um arquivo é
binário, inibe qualquer saída adicional e, em vez disso, gera uma mensagem
de uma linha dizendo que um arquivo binário coincide ou nenhuma mensagem se
não houver coincidência.
.IP
Se \fITIPO\fP for \fBwithout\-match\fP, quando \fBgrep\fP descobre que um arquivo é
binário, ele presume que o restante do arquivo não coincide; isso é
equivalente à opção \fB\-I\fP.
.IP
Se \fITIPO\fP for \fBtext\fP, \fBgrep\fP processa um arquivo binário como se fosse
texto; isso é equivalente à opção \fB\-a\fP.
.IP
Quando \fItipo\fP é \fBbinary\fP, \fBgrep\fP pode tratar bytes, que não sejam de
texto, como terminadores de linha, mesmo sem a opção \fB\-z\fP. Isso significa
que escolher \fBbinary\fP em vez de \fBtext\fP pode afetar se um padrão coincide
com um arquivo. Por exemplo, quando \fItipo\fP é \fBbinary\fP, o padrão \fBq$
might\fP coincide com \fBq\fP imediatamente seguido por um byte nulo, mesmo que
isso não coincida quando \fItipo\fP é \fBtext\fP. Por outro lado, quando \fItipo\fP é
\fBbinary\fP, o padrão \fB.\&\fP (ponto) pode não coincidir a um byte nulo.
.IP
\fIAviso:\fP A opção \fB\-a\fP 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
\fB\-a\fP ou definir \fBLC_ALL='C'\fP no ambiente, para encontrar ocorrências,
mesmo que estas não sejam seguras para exibição direta.
.TP
\fB\-D\fP\fI AÇÃO\fP,\fB \-\^\-devices=\fP\fIAÇÃO\fP
Se um arquivo de entrada for um dispositivo, FIFO ou soquete, usa \fIAÇÃO\fP
para processá\-lo. Por padrão, \fIAÇÃO\fP é \fBread\fP, o que significa que os
dispositivos são lidos como se fossem arquivos comuns. Se \fIAÇÃO\fP for
\fBskip\fP, os dispositivos serão ignorados silenciosamente.
.TP
\fB\-d\fP\fI AÇÃO\fP,\fB \-\^\-directories=\fP\fIAÇÃO\fP
Se um arquivo de entrada for um diretório, usa \fIAÇÃO\fP para processá\-lo. Por
padrão, \fIAÇÃO\fP é \fBread\fP, ou seja, lê os diretórios como se fossem arquivos
comuns. Se \fIAÇÃO\fP for \fBskip\fP, pula silenciosamente os diretórios. Se
\fIAÇÃO\fP for \fBrecurse\fP, 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 \fB\-r\fP.
.TP
\fB\-\^\-exclude=\fP\fIGLOB\fP
Pula qualquer arquivo de linha de comando com um sufixo de nome que coincida
com o padrão \fIGLOB\fP, usando coincidência de curinga; um sufixo de nome é o
nome inteiro ou qualquer sufixo iniciando após um \fB/\fP e antes de um não
\fB/\fP. Ao pesquisar recursivamente, pule qualquer subarquivo cujo nome base
coincida com \fIGLOB\fP; o nome base é a parte após a última \fB/\fP. Um padrão
pode usar \fB*\fP, \fB?\fP e \fB[\fP.\|.\|.\fB]\&\fP como curingas e \fB\e\fP para colocar
entre aspas um caractere curinga ou barra invertida literalmente.
.TP
\fB\-\^\-exclude\-from=\fP\fIARQUIVO\fP
Ignora arquivos cujo nome base coincide com qualquer um dos globs de nome de
arquivo lidos em \fIARQUIVO\fP (usando a coincidência curinga conforme descrito
em \fB\-\^\-exclude\fP).
.TP
\fB\-\^\-exclude\-dir=\fP\fIGLOB\fP
Pula qualquer diretório da linha de comandos com um sufixo de nome que
coincida com o padrão \fIGLOB\fP. Ao pesquisar recursivamente, pula qualquer
subdiretório cujo nome base coincida com \fIGLOB\fP. Ignora as barras finais
redundantes em \fIGLOB\fP.
.TP
\fB\-I\fP
Processa um arquivo binário como se não contivesse dados de coincidência
isso é equivalente à opção \fB\-\^\-binary\-files=without\-match\fP.
.TP
\fB\-\^\-include=\fP\fIGLOB\fP
Pesquisa apenas arquivos cujo nome base coincida com \fIGLOB\fP (usando a
coincidência curinga conforme descrito em \fB\-\^\-exclude\fP).
.TP
\fB\-r\fP, \fB\-\^\-recursive\fP
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 \fB\-d recurse\fP.
.TP
\fB\-R\fP, \fB\-\^\-dereference\-recursive\fP
Lê todos os arquivos em cada diretório, recursivamente. Segue todos os links
simbólicos, ao contrário de \fB\-r\fP.
.SS "Outras opções"
.TP
\fB\-\^\-line\-buffered\fP
Usa buffer de linha na saída. Isso pode causar uma penalidade de desempenho.
.TP
\fB\-U\fP, \fB\-\^\-binary\fP
Trata os arquivos como binários. Por padrão, em MS\-DOS e MS\-Windows, \fBgrep\fP
calcula se um arquivo é texto ou binário, conforme descrito para a opção
\fB\-\^\-binary\-files\fP. Se \fBgrep\fP 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 \fB^\fP e \fB$\fP funcionarem corretamente). A
especificação de \fB\-U\fP 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.
.TP
\fB\-z\fP, \fB\-\^\-null\-data\fP
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 \fB\-Z\fP ou \fB\-\^\-null\fP, esta opção pode ser usada com
comandos como \fBsort \-z\fP para processar nomes de arquivos arbitrários.
.
.SH "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.
.PP
\fBgrep\fP compreende três versões diferentes da sintaxe de expressão regular:
\*(lqbásica\*(rq (BRE), \*(lqestendida\*(rq (ERE) e \*(lqperl\*(rq (PCRE). No GNU \fBgrep\fP, 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.
.PP
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.
.PP
O ponto \fB.\&\fP coincide com qualquer caractere único. Não é especificado se
coincide com um erro de codificação.
.SS "Classes de caracteres e expressões entre colchetes"
Uma \fIexpressão entre colchetes\fP é uma lista de caracteres entre \fB[\fP e
\fB]\fP. Coincide com qualquer caractere único nessa lista. Se o primeiro
caractere da lista for o sinal de intercalação \fB^\fP, ele coincidirá com
qualquer caractere que \fInão\fP esteja na lista; não é especificado se
coincide com um erro de codificação. Por exemplo, a expressão regular
\fB[0123456789]\fP coincide com qualquer dígito único.
.PP
Dentro de uma expressão entre colchetes, uma \fIexpressão de intervalo\fP
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, \fB[a\-d]\fP é equivalente a
\fB[abcd]\fP. Muitos códigos de idioma classificam caracteres na ordem do
dicionário e, nesses locais, \fB[a\-d]\fP normalmente não é equivalente a
\fB[abcd]\fP; pode ser equivalente a \fB[aBbCcDd]\fP, 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 \fBLC_ALL\fP para o
valor \fBC\fP.
.PP
Finalmente, certas classes nomeadas de caracteres são predefinidas nas
expressões entre colchetes, da seguinte maneira. Seus nomes são
autoexplicativos e são \fB[:alnum:]\fP, \fB[:alpha:]\fP, \fB[:cntrl:]\fP,
\fB[:digit:]\fP, \fB[:graph:]\fP, \fB[:lower:]\fP, \fB[:print:]\fP, \fB[:punct:]\fP,
\fB[:space:]\fP, \fB[:upper:]\fP e \fB[:xdigit:]\fP. Por exemplo, \fB[[:alnum:]]\fP
significa a classe de caracteres de números e letras no local atual. Na
localidade C e na codificação do conjunto de caracteres ASCII, é igual a
\fB[0\-9A\-Za\-z]\fP. (Observe que os colchetes nesses nomes de classe fazem parte
dos nomes simbólicos e devem ser incluídos além dos colchetes que delimitam
a expressão entre colchetes.) A maioria dos metacaracteres perde seu
significado especial nas expressões entre colchetes. Para incluir um \fB]\fP
literal, coloque\-o primeiro na lista. Da mesma forma, para incluir um \fB^\fP
literal, coloque\-o em qualquer lugar, exceto primeiro. Finalmente, para
incluir um literal \fB\-\fP, coloque\-o por último.
.SS Ancoragem
O acento circunflexo (caret) \fB^\fP e o cifrão \fB$\fP são metacaracteres que
coincidem respectivamente com o texto vazio no início e no final de uma
linha.
.SS "O caractere de barra invertida e expressões especiais"
Os símbolos \fB\e<\fP e \fB\e>\fP respectivamente coincidem com o texto
vazio no início e no final de uma palavra. O símbolo \fB\eb\fP coincide com o
texto vazio na borda de uma palavra e \fB\eB\fP coincide com o texto vazio,
desde que eu não esteja na borda de uma palavra. O símbolo \fB\ew\fP é sinônimo
de \fB[_[:alnum:]]\fP e \fB\eW\fP é sinônimo de \fB[^_[:alnum:]]\fP.
.SS Repetição
Uma expressão regular pode ser seguida por um dos vários operadores de
repetição:
.PD 0
.TP
\fB?\fP
O item anterior é opcional e coincide com o máximo uma vez.
.TP
\fB*\fP
O item anterior coincidirá com zero ou mais vezes.
.TP
\fB+\fP
O item anterior coincidirá com uma ou mais vezes.
.TP
\fB{\fP\fIn\fP\fB}\fP
O item anterior é coincidido exatamente \fIn\fP vezes.
.TP
\fB{\fP\fIn\fP\fB,}\fP
O item anterior é coincidido a \fIn\fP ou mais vezes.
.TP
\fB{,\fP\fIm\fP\fB}\fP
O item anterior é coincidido no máximo \fIm\fP vezes. Esta é uma extensão GNU.
.TP
\fB{\fP\fIn\fP\fB,\fP\fIm\fP\fB}\fP
O item anterior é coincidido pelo menos \fIn\fP vezes, mas não mais que \fIm\fP
vezes.
.PD
.SS 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.
.SS Alternação
Duas expressões regulares podem ser unidas pelo operador de infixo \fB|\fP; a
expressão regular resultante coincide com qualquer texto que coincida com a
expressão alternativa.
.SS 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.
.SS "Retrorreferências e subexpressões"
A retrorreferência \fB\e\fP\fIn\fP\&, onde \fIn\fP é um único dígito, coincide à
parte de texto anteriormente coincidida pela \fIn\fP\-ésima subexpressão entre
parênteses da expressão regular.
.SS "Expressões regulares básicas vs estendidas"
Nas expressões regulares básicas, os metacaracteres \fB?\fP, \fB+\fP, \fB{\fP, \fB|\fP,
\fB(\fP e \fB)\fP perdem seu significado especial; em vez disso, use as versões
com barra invertida \fB\e?\fP, \fB\e+\fP, \fB\e{\fP, \fB\e|\fP, \fB\e(\fP e \fB\e)\fP.
.
.SH "VARIÁVEIS DE AMBIENTE"
O comportamento de \fBgrep\fP é afetado pelas seguintes variáveis de ambiente.
.PP
O código do idioma da categoria \fBLC_\fP\fIfoo\fP é especificado examinando as
três variáveis de ambiente \fBLC_ALL\fP, \fBLC_\fP\fIfoo\fP, \fBLANG\fP, nessa ordem. A
primeira dessas variáveis configuradas especifica o código do idioma. Por
exemplo, se \fBLC_ALL\fP não estiver definido, mas \fBLC_MESSAGES\fP estiver
definido como \fBpt_BR\fP, o código do idioma português do Brasil será usado
para a categoria \fBLC_MESSAGES\fP. 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 \fBgrep\fP não tiver sido compilado com
suporte ao idioma nacional (NLS). O comando de shell \fBlocale \-a\fP lista as
localidades que estão disponíveis no momento.
.TP
\fBGREP_OPTIONS\fP
Essa variável especifica opções padrão a serem colocadas na frente de
qualquer opção explícita. Como isso causa problemas ao escrever scripts
portáteis, esse recurso será removido em uma versão futura do \fBgrep\fP, e
\fBgrep\fP avisa se for usado. Por favor, use um apelido ou script.
.TP
\fBGREP_COLOR\fP
Essa variável especifica a cor usada para realçar o texto coincidente (não
vazio). Ela foi descontinuada em favor de \fBGREP_COLORS\fP, mas ainda é
suportada. Os recursos \fBmt\fP, \fBms\fP e \fBmc\fP de \fBGREP_COLORS\fP 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 \fB\-v\fP for omitida ou uma linha de contexto quando
\fB\-v\fP for especificado) . O padrão é \fB01;31\fP, o que significa um texto em
primeiro plano em negrito no fundo padrão do terminal.
.TP
\fBGREP_COLORS\fP
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 é \fBms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36\fP com os
recursos booleanos \fBrv\fP e \fBne\fP omitidos (ou seja, false). Os recursos
suportados são os seguintes.
.RS
.TP
\fBsl=\fP
Parte de texto de SGR para linhas selecionadas inteiras (ou seja,
ocorrências quando a opção de linha de comando \fB\-v\fP for omitida ou linhas
não coincidentes quando \fB\-v\fP for especificado). Se, no entanto, o recurso
booleano \fBrv\fP e a opção de linha de comando \fB\-v\fP 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).
.TP
\fBcx=\fP
Parte de texto de SGR para linhas de contexto inteiras (ou seja, linhas não
coincidentes quando a opção de linha de comando \fB\-v\fP for omitida ou
ocorrências quando \fB\-v\fP for especificado). Se, no entanto, o recurso
booleano \fBrv\fP e a opção de linha de comando \fB\-v\fP 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).
.TP
\fBrv\fP
Valor booleano que reverte (troca) os significados dos recursos \fBsl=\fP e
\fBcx=\fP quando a opção da linha de comandos \fB\-v\fP é especificada. O padrão é
falso (ou seja, o recurso é omitido).
.TP
\fBmt=01;31\fP
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 \fB\-v\fP for omitida ou uma linha de contexto quando \fB\-v\fP for
especificado). Definir isso é equivalente a definir \fBms=\fP e \fBmc=\fP 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.
.TP
\fBms=01;31\fP
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 \fB\-v\fP é
omitida.) O efeito do recurso \fBsl=\fP (ou \fBcx=\fP se \fBrv\fP) permanece ativo
quando isso ocorre. O padrão é um primeiro plano em texto em negrito sobre o
plano de fundo da linha atual.
.TP
\fBmc=01;31\fP
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 \fB\-v\fP é
especificada.) O efeito do recurso \fBcx=\fP (ou \fBsl=\fP se \fBrv\fP) permanece
ativo quando isso ocorre. O padrão é um primeiro plano em texto em negrito
sobre o plano de fundo da linha atual.
.TP
\fBfn=35\fP
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.
.TP
\fBln=32\fP
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.
.TP
\fBbn=32\fP
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.
.TP
\fBse=36\fP
Parte de texto de SGR para separadores que são inseridos entre os campos de
linha selecionados (\fB:\fP), entre os campos de linha de contexto, (\fB\-\fP) e
entre grupos de linhas adjacentes quando um contexto diferente de zero é
especificado (\fB\-\^\-\fP). O padrão é um texto em primeiro plano ciano sobre o
plano de fundo padrão do terminal.
.TP
\fBne\fP
Valor booleano que impede a limpeza até o final da linha usando Apagar na
Linha (EL) para Direita (\fB\e33[K\fP) toda vez que um item colorido
termina. Isso é necessário em terminais nos quais o EL não é suportado. Caso
contrário, é útil em terminais para os quais o recurso booleano terminfo
\fBback_color_erase\fP (\fBbce\fP) não se aplica, quando as cores de realce
escolhidas não afetam o plano de fundo ou quando o EL é muito lento ou causa
muita oscilação. O padrão é falso (ou seja, o recurso é omitido).
.PP
Observe que os recursos booleanos não possuem uma parte \fB=\fP.\|.\|.\&. Eles
são omitidos (ou seja, false) por padrão e se tornam verdadeiros quando
especificados.
.PP
Consulte a seção Select Graphic Rendition (SGR) na documentação do terminal
de texto usado para valores permitidos e seu significado como atributos de
caractere. Esses valores de parte de texto são números inteiros na
representação decimal e podem ser concatenados com ponto e vírgula. O
\fBgrep\fP cuida da montagem do resultado em um texto SGR completo
(\fB\e33[\fP.\|.\|.\fBm\fP). Os valores comuns a concatenar incluem \fB1\fP para
negrito, \fB4\fP para sublinhado, \fB5\fP para piscar, \fB7\fP para inversa, \fB39\fP
para cor de primeiro plano padrão, \fB30\fP a \fB37\fP para cores de primeiro
plano, \fB90\fP a \fB97\fP para modo de 16 cores de primeiro plano, \fB38;5;0\fP a
\fB38;5;255\fP para modos de 88 cores e 256 cores de primeiro plano, \fB49\fP para
cor de plano de fundo padrão, \fB40\fP a \fB47\fP para cores de plano de fundo,
\fB100\fP a \fB107\fP para cores de plano de fundo no modo de 16 cores e \fB48;5;0\fP
para \fB48;5;255\fP para os modos 88 e 256 cores.
.RE
.TP
\fBLC_ALL\fP, \fBLC_COLLATE\fP, \fBLANG\fP
Essas variáveis especificam o código de idioma da categoria \fBLC_COLLATE\fP,
que determina a sequência de agrupamento usada para interpretar expressões
de intervalo como \fB[a\-z]\fP.
.TP
\fBLC_ALL\fP, \fBLC_CTYPE\fP, \fBLANG\fP
Essas variáveis especificam o código de idioma da categoria \fBLC_CTYPE\fP, 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.
.TP
\fBLC_ALL\fP, \fBLC_MESSAGES\fP, \fBLANG\fP
Essas variáveis especificam o código de idioma da categoria \fBLC_MESSAGES\fP,
que determina o idioma que \fBgrep\fP usa para mensagens. A localidade C padrão
usa mensagens em inglês americano.
.TP
\fBPOSIXLY_CORRECT\fP
Se definida, \fBgrep\fP se comporta conforme requer o POSIX; caso contrário,
\fBgrep\fP 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 \*(lqilegais\*(rq, mas como elas
não são realmente contrárias à lei, o padrão é diagnosticá\-las como
\*(lqinválidas\*(rq. \fBPOSIXLY_CORRECT\fP também desativa
\fB_\fP\fIN\fP\fB_GNU_nonoption_argv_flags_\fP, descrito abaixo.
.TP
\fB_\fP\fIN\fP\fB_GNU_nonoption_argv_flags_\fP
(Aqui \fIN\fP é o ID numérico do processo de \fBgrep\fP.) Se o \fIi\fP\-nésimo
caractere do valor dessa variável de ambiente for \fB1\fP, não considera o
\fIi\fP\-nésimo operando de \fBgrep\fP 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 \fBPOSIXLY_CORRECT\fP não está definida.
.
.SH "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 \fB\-q\fP
ou \fB\-\^\-quiet\fP ou \fB\-\^\-silent\fP for usado e uma linha for selecionada, o
status de saída será 0, mesmo que tenha ocorrido um erro.
.
.SH "DIREITOS AUTORAIS"
Copyright 1998\(en2000, 2002, 2005\(en2018 Free Software Foundation, Inc.
.PP
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.
.
.SH BUGS
.SS "Relatando erros"
Envie por e\-mail relatórios de erros para
.MT bug\-grep@gnu.org
o endereço
de relatório de erros
.ME .
Um
.UR https://lists.gnu.org/mailman/listinfo/bug\-grep
arquivo de e\-mails
.UE
e
um
.UR https://debbugs.gnu.org/cgi/pkgreport.cgi?package=grep
rastreador
de erros
.UE
estão disponíveis.
.SS "Erros conhecidos"
Grandes contagens de repetição na construção \fB{\fP\fIn\fP\fB,\fP\fIm\fP\fB}\fP podem
fazer com que \fBgrep\fP 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 \fBgrep\fP.
.PP
As retrorreferências são muito lentas e podem exigir tempo exponencial.
.
.SH "VEJA TAMBÉM"
.SS "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).
.SS "Página de Manual do Programador do POSIX"
grep(1p).
.SS "Documentação completa"
Um
.UR https://www.gnu.org/software/grep/manual/
manual completo
.UE
está disponível. Se os programas \fBinfo\fP e \fBgrep\fP estiverem instalados
adequadamente em seu sistema, o comando
.IP
\fBinfo grep\fP
.PP
deve lhe dar acesso ao manual completo.
.
.SH NOTAS
.\" Work around problems with some troff -man implementations.
Esta página man é mantida apenas de forma adequada; a documentação completa
geralmente é mais atualizada.
.br
.
.\" Format for Emacs-maintained Dt string defined at this file's start.
.\" Local variables:
.\" time-stamp-format: "%:y-%02m-%02d"
.\" End:
.SH TRADUÇÃO
A tradução para português brasileiro desta página man foi criada por
Rafael Fontenelle
.
Esta tradução é uma documentação livre; leia a
.UR https://www.gnu.org/licenses/gpl-3.0.html
Licença Pública Geral GNU Versão 3
.UE
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
.MT debian-l10n-portuguese@\:lists.\:debian.\:org
a lista de discussão de tradutores
.ME .