grep, egrep, fgrep, rgrep - emite linhas que coincidem com
padrões
grep [OPÇÃO...] PADRÕES
[ARQUIVO...]
grep [OPÇÃO...] -e PADRÕES
... [ARQUIVO...]
grep [OPÇÃO...] -f
ARQUIVO_PADRÃO ... [ARQUIVO...]
grep pesquisa PADRÕES em cada ARQUIVO.
PADRÕES é um ou mais padrões separados por
caracteres de nova linha e grep emite cada linha que coincide com um
padrão. Normalmente, PADRÕES deve ser colocado entre
aspas quando grep é usado em um comando shell.
Um ARQUIVO de “-” significa entrada
padrão. Se nenhum ARQUIVO for fornecido, as pesquisas
recursivas examinam o diretório de trabalho e as pesquisas
não-recursivas leem a entrada padrão.
Debian also includes the variant programs egrep,
fgrep and rgrep. These programs are the same as
grep -E, grep -F, and grep -r,
respectively. These variants are deprecated upstream, but Debian provides
for backward compatibility. For portability reasons, it is recommended to
avoid the variant programs, and use grep with the related option
instead.
- -E,
--extended-regexp
- Interpreta PADRÕES como expressões regulares
estendidas (EREs, veja abaixo).
- -F,
--fixed-strings
- Interpreta PADRÕES como textos fixos, não como
expressões regulares.
- -G,
--basic-regexp
- Interpreta PADRÕES como expressões regulares
básicas (BREs, veja abaixo). Esse é o padrão.
- -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.
- -e PADRÕES,
--regexp=PADRÕES
- Usa PADRÕES como os padrões. Se esta
opção for usada várias vezes ou for combinada com a
opção -f (--file), pesquisa por todos os
padrões fornecidos. Esta opção pode ser usada para
proteger um padrão começando com “-”.
- -f ARQUIVO,
--file=ARQUIVO
- Obtém padrões de ARQUIVO, um por linha. Se esta
opção for usada várias vezes ou for combinada com a
opção -e (--regexp), pesquisa todos os
padrões fornecidos. O arquivo vazio contém zero
padrões e, portanto, não coincide com nada.
- -i,
--ignore-case
- Ignora as diferenças entre maiúsculas e minúsculas
nos padrões e nos dados de entrada, para que os caracteres que
diferem apenas no caso de coincidirem um ao outro.
- --no-ignore-case
- Não ignora as diferenças entre maiúsculas e
minúsculas nos padrões e nos dados de entrada. Esse é
o padrão. Esta opção é útil para passar
para shell scripts que já usam -i, para cancelar seus
efeitos porque as duas opções se substituem.
- -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 $.
- -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 NÚM,
--max-count=NÚM
- 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 (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.
- -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
- 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 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
- Exibe a entrada proveniente da entrada padrão como uma entrada
proveniente do RÓTULO de arquivo. Isso pode ser útil
para comandos que transformam o conteúdo de um arquivo antes de
pesquisar, por exemplo, gzip -cd foo.gz | grep --label=foo -H 'algum
padrão'. Veja também a opção
-H.
- -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.
- -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.
- -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.
- --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.
- -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 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
binários de entrada nula, ele presume que o restante do arquivo
não coincide; isso é equivalente à
opção -I.
- 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
- Pula qualquer arquivo de linha de comando com um sufixo de nome que
coincida com o padrão GLOB, usando coincidência de
curinga; um sufixo de nome é o nome inteiro ou uma parte à
direita que começa com um caractere sem barra imediatamente
após uma barra (/) no nome. Ao pesquisar recursivamente,
pula qualquer subarquivo cujo nome base coincida com GLOB; o nome
base é a parte após a última barra. Um padrão
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 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
- Pesquisa apenas arquivos cujo nome base coincida a GLOB (usando
coincidência de curinga conforme descrito em --exclude). Se
as opções --include e --exclude
contraditórias forem fornecidas, a última
coincidência vence. Se nenhuma opção --include
ou --exclude coincidir, um arquivo será incluído, a
menos que a primeira opção 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
- Lê todos os arquivos em cada diretório, recursivamente.
Segue todos os links simbólicos, ao contrário de
-r.
- --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.
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 understands three different versions of regular
expression syntax: “basic” (BRE), “extended”
(ERE) and “perl” (PCRE). In GNU grep there is no
difference in available functionality between basic and extended syntax. In
other implementations, basic regular expressions are less powerful. The
following description applies to extended regular expressions; differences
for basic regular expressions are summarized afterwards. Perl-compatible
regular expressions give additional functionality, and are documented in
pcre2syntax(3) and pcre2pattern(3), but work only if PCRE
support is enabled.
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.
O ponto . coincide com qualquer caractere único.
Não é especificado se coincide com um erro de
codificação.
Uma expressão entre colchetes é uma lista de
caracteres entre [ e ]. Coincide com qualquer caractere
único nessa lista. Se o primeiro caractere da lista for o sinal de
intercalação ^, ele coincidirá com qualquer
caractere que não esteja na lista; não é
especificado se coincide com um erro de codificação. Por
exemplo, a expressão regular [0123456789] coincide com
qualquer dígito único.
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.
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 [:alnum:],
[:alpha:], [:blank:], [:cntrl:], [:digit:],
[:graph:], [:lower:], [:print:], [:punct:],
[:space:], [:upper:] e [:xdigit:]. Por exemplo,
[[:alnum:]] 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 [0-9A-Za-z]. (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 ] 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
último.
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.
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:]].
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.
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.
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.
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.
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.
Nas expressões regulares básicas, os metacaracteres
?, +, {, |, ( e ) perdem seu
significado especial; em vez disso, use as versões com barra
invertida \?, \+, \{, \|, \( e
\).
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.
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_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,
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
- Valor booleano que impede a limpeza até o final da linha usando
Apagar na Linha (EL) para Direita (\33[K) 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
back_color_erase (bce) 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).
Observe que os recursos booleanos não possuem uma parte
=.... Eles são omitidos (ou seja, false) por padrão e
se tornam verdadeiros quando especificados.
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 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 padrão,
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 padrão, 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 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.
Esta página man é mantida apenas de forma adequada;
a documentação completa geralmente é mais
atualizada.
Copyright 1998-2000, 2002, 2005-2022 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.
Envie por e-mail relatórios de erros para o endereço
de relatório de erros ⟨bug-grep@gnu.org⟩. Um arquivo de
e-mails ⟨https://lists.gnu.org/mailman/listinfo/bug-grep⟩ e um
rastreador de erros
⟨https://debbugs.gnu.org/cgi/pkgreport.cgi?package=grep⟩
estão disponíveis.
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.
O exemplo a seguir exibe o local e o conteúdo de qualquer
linha que contém “f” e termina em “.c”,
em todos os arquivos no diretório atual cujos nomes contêm
“g” e terminam em “.h”. A opção
-n emite números de linha, o argumento -- trata
expansões de “*g*.h” começando com
“-” como nomes de arquivos, não como
opções, 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 única linha que coincide é a linha 1 de
argmatch.h. Observe que a sintaxe da expressão regular usada no
padrão difere da sintaxe flutuante que o shell usa para coincidir com
os nomes dos arquivos.
Páginas 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)
Um manual completo
⟨https://www.gnu.org/software/grep/manual/⟩ está
disponível. Se os programas info e grep estiverem
instalados adequadamente em seu sistema, o comando
- info grep
deve lhe dar acesso ao manual completo.
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
⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ 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
⟨debian-l10n-portuguese@lists.debian.org⟩.