Name
grep, egrep, fgrep – print lines matching a pattern
Synopsis
grep PATTERN
grep
Descrição
grep pesquisa os FILE de entrada nomeados (ou entrada padrão se nenhum arquivo for nomeado, ou se um único hífen menos (-) for dado como nome de arquivo)para linhas contendo uma correspondência com o PATTERN dado. Por padrão, o grep imprime as linhas correspondentes.
Além disso, dois programas variantes egrep e fgrep estão disponíveis. egrep é o mesmo que grep -E. fgrep é o mesmo que grep -F. A invocação direta como egrep ou fgrep é depreciada, mas é fornecida para permitir aplicações históricas que dependem delas torun não modificadas.
Options
Generic Program Information
–help
Print a use message summarizing these command-line options and the bug-reporting address, then exit.
-V, –version Print the version number of grep to the standard output stream. Este número de versão deve ser incluído em todos os relatórios de bugs (veja abaixo).
Matcher Selection
-E, –extended-regexp Interpret PATTERN como uma expressão regular estendida (ERE, veja abaixo). (-E é especificado por POSIX .) -F, –fixed-strings Interpret PATTERN como uma lista de strings fixas, separadas por novas linhas, qualquer uma das quais deve ser correspondida. (-F é especificado por POSIX.) -G, –basic-regexp Interpret PATTERN como uma expressão regular básica (BRE, veja abaixo). Este é o padrão. -P, –perl-regexp Interpretar PATTERN como uma expressão regular de Perl. Isto é altamente experimental e o grep -P pode alertar para características não implementadas.
Matching Control
-e PATTERN, –regexp=PATTERN Use PATTERN como padrão. Isto pode ser usado para especificar múltiplos padrões de busca, ou para proteger um padrão começando com um hífen (-).(-e é especificado pelo POSIX .) -f FILE, –file=FILE Obter padrões do FILE, um por linha. O arquivo vazio contém zero padrões, e portanto não corresponde a nada. (-f é especificado porPOSIX .) -i, –ignore-case Ignore as distinções de caso tanto no PATTERN quanto nos arquivos de entrada. (-i é especificado por POSIX .) -v, –invert-match Inverta o sentido de correspondência, para selecionar linhas não correspondentes. (-v é especificado pelo POSIX .) -w, –word-regexp Seleccione apenas as linhas que contêm correspondências que formam palavras inteiras. O teste é que o substrato de correspondência deve estar no início da linha, ou precedido por um caracter não constituinte de palavras. Da mesma forma, deve estar no final da linha ou seguida por um caracter não constituinte da palavra. Os caracteres constituintes da palavra são letras, dígitos e o sublinhado. -x, –line-regexp Selecione apenas os caracteres que correspondem exatamente à linha inteira. (-x é especificado pelo POSIX .) -y
Obsolete synonym for -i.
General Output Control
-c, –count Suprime a saída normal; em vez disso imprima uma contagem de linhas correspondentes para cada arquivo de entrada. Com a opção -v, –invert-match (veja abaixo), conte as linhas que não correspondem. (-c é especificado pelo POSIX .) –color, –colour Surround the matched (non-empty) strings, matching lines, context lines, file names, line numbers, byte offsets, e separators (para campos e grupos de linhas de texto) com seqüê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 GREP_COLOR ainda é suportada, mas sua configuração não tem prioridade. QUANDO nunca é, sempre, orauto. -L, –files-without-match Suprimir saída normal; em vez disso, imprimir o nome de cada arquivo de entrada do qual nenhuma saída normalmente teria sido impressa. A digitalização irá parar no primeiromatch. -l, –files-with-matches Suprime a saída normal; em vez disso imprima o nome de cada arquivo de entrada a partir do qual a saída normalmente teria sido impressa. O escaneamento parará no primeiro lote. (-l é especificado pelo POSIX .) -m NUM, –max-count=NUM Parar de ler um arquivo após as linhas de correspondência NUM. Se a entrada é a entrada padrão de um arquivo normal, e as linhas de correspondência NUM são saídas, o grep assegura que a entrada padrão é posicionada imediatamente após a última linha de correspondência antes de sair, independentemente da presença de linhas de contexto de trailing. Isto permite um processo de chamada para retomar uma busca. Quando o grep pára depois das linhas de correspondência NUM, ele emite qualquer linha de contexto de rastreamento. Quando a opção -c ou –count também é usada, o grep não emite uma contagem maior que NUM. Quando a opção -v ou –invert-matchoption também é usada, o grep pára após a saída de linhas sem correspondência NUM. -o, — somente correspondência Imprimir apenas as partes correspondentes (não vazias) de uma linha correspondente, com cada uma dessas partes em uma linha de saída separada. -q, –quiet, –silent Quiet; não escreva nada na saída padrão. Saia imediatamente com status zero se alguma correspondência for encontrada, mesmo que um erro tenha sido detectado. Veja também a opção –s ou –no-messages. (-q é especificada pelo POSIX .) -s, –no-messages Suprima mensagens de erro sobre arquivos inexistentes ou não legíveis. Nota de portabilidade: ao contrário do GNU grep, o grep Unix 7ª Edição não estava em conformidade com o POSIX , porque faltava -q e sua opção -s comportou-se como o grep do GNU grep -q option.USG -style grep também faltava -q mas sua opção -s comportou-se como o GNU grep. Scripts shell portáveis devem evitar ambos -q e -s e devem redirecionar a saída padrão e de erros para /dev/null em seu lugar. (-s é especificado pelo POSIX.)
Output Line Prefix Control
-b, –byte-offset Imprima o offset de byte baseado em 0 dentro do arquivo de entrada antes de cada linha de saída. Se -o (–only-matching) for especificado, imprima o offset da própria peça de correspondência. -H, –with-filename Imprima o nome do arquivo para cada correspondência. Este é o padrão quando há mais de um arquivo para pesquisar. -h, — sem nome do arquivo Suprima o prefixo dos nomes dos arquivos na saída. Este é o padrão quando há apenas um arquivo (ou apenas entrada padrão) para pesquisar. –label=LABEL Mostra o input realmente vindo do input padrão como input vindo do arquivo LABEL. Isto é especialmente útil quando se implementam ferramentas como o gzip -cd foo.gz | grep –label=foo -H alguma coisa. Veja também a opção -H. -n, –line-number Prefixo de cada linha de saída com o número de linha baseado em 1 dentro de seu arquivo de entrada. (-n é especificado pelo POSIX .) -T, –initial-tab Certifique-se de que o primeiro caractere do conteúdo real da linha esteja em uma parada de abas, para que o alinhamento das abas pareça normal. Isto é útil com opções que prefixam sua saída para o conteúdo real: -H,-n, e -b. A fim de melhorar a probabilidade de que linhas de um único arquivo sejam todas iniciadas na mesma coluna, isto também faz com que o número de linha e byte offset (se presente) sejam impressos em uma largura de campo de tamanho mínimo. -u, –unix-byte-offsets Reportar offsets de bytes no estilo Unix. Esta opção faz com que o grep reporte byte offsets como se o arquivo fosse um arquivo de texto no estilo Unix, ou seja, com os caracteres CR removidos. Isto irá produzir resultados idênticos aos da execução do grep em uma máquina Unix. Esta opção não tem efeito a menos que a opção -b também seja usada; ithas nenhum efeito em plataformas que não MS-DOS e MS -Windows. -Z, –null Produz um byte zero (o caractere ASCII NUL) ao invés do caractere que normalmente segue um nome de arquivo. Por exemplo, o grep -lZout produz um byte zero após cada nome de arquivo, ao invés da nova linha usual. Esta opção torna o output inequívoco, mesmo na presença de nomes de arquivos contendo caracteres não usuais como as novas linhas. Esta opção pode ser usada com comandos como find -print0, perl -0, sort -z, e xargs -0 toprocessar nomes de arquivos arbitrários, mesmo aqueles que contêm caracteres de novas linhas.
Context Line Control
-A NUM, –after-context=NUM Imprimir NUM linhas de contexto de trailing após as linhas correspondentes. Coloca uma linha contendo um separador de grupo (–) entre grupos contíguos de correspondências. Com a opção -o ou — somente correspondência, isto não tem efeito e um aviso é dado. -B NUM, –before-context=NUM Imprime linhas NUM de contexto principal antes de linhas de correspondência. Coloca uma linha contendo um separador de grupo (–) entre grupos contíguos de correspondências. Com a opção -o ou — somente correspondência, isto não tem efeito e um aviso é dado. -C NUM, -NUM, –context=NUM Imprimir NUM linhas de contexto de saída. Coloca uma linha contendo um separador de grupo (–) entre grupos contíguos de correspondências. Com a opção -o ou –only-matching, isto não tem efeito e um aviso é dado.
Selecção de Ficheiro e Directório
-a, –text Processar um ficheiro binário como se fosse texto; isto é equivalente à opção –binary-files=text. –binary-files=TYPE Se os primeiros bytes de um arquivo indicarem que o arquivo contém dados binários, assuma que o arquivo é do tipo TYPE. Por padrão, TYPE isbinary, e o grep normalmente emite ou uma mensagem de uma linha dizendo que um arquivo binário corresponde, ou nenhuma mensagem se não houver correspondência. Se TYPE for sem correspondência, o grep assume que um arquivo binário não corresponde; isto é equivalente à opção -I. Se TYPE é texto,o grep processa um arquivo binário como se fosse texto; isto é equivalente à opção -a. Atenção: grep –binary-files=text pode produzir lixo binário, que pode ter efeitos colaterais desagradáveis se a saída for um terminal e se o driver do terminal interpretar parte dele como comandos. -D ACTION, –devices=ACTION Se um arquivo de entrada for um dispositivo, FIFO ou socket, use ACTION para processá-lo. Por padrão, ACTION é lido, o que significa que os dispositivos são reajustados como se fossem arquivos comuns. Se ACTION for pulado, os dispositivos são silenciosamente pulados. -d ACTION, –directories=ACTION Se um arquivo de entrada é um diretório, use ACTION para processá-lo. Por padrão, ACTION é lido, o que significa que os diretórios são lidos como se fossem arquivos comuns. Se ACTION for pulado, as diretórios são silenciosamente puladas. Se ACTION é repetido, o grep lê todos os arquivos sob cada diretório, recursivamente; isto é equivalente à opção -r. –exclude=GLOB Pular arquivos cujo nome base coincida com GLOB (usando wildcard matching). Um glob de nome de ficheiro pode usar *, ?, e como wildcards,e \ para citar literalmente um wildcard ou carácter de barra invertida. –exclude-from=FILE Skip files whose base name matches any of the file-name globs read from FILE (using wildcard matching as described under –exclude). –exclude-dir=DIR Excluir diretórios que correspondam ao padrão DIR das buscas recursivas. -I
Processar um arquivo binário como se ele não contivesse dados correspondentes; isto é equivalente ao arquivo –binary-files=without-match option.
–include=GLOB Search only files whose base name matches GLOB (using wildcard matching as described under –exclude). -R, -r, –recursivo Leia todos os arquivos sob cada diretório, recursivamente; isto é equivalente à opção -d recurse.
Outras Opções
–line-buffered Use buffer de linha na saída. Isto pode causar uma penalização de performance. –mmap
Se possível, use a chamada de sistema mmap(2) para ler o input, ao invés da chamada de sistema read(2) padrão. Em algumas situações, o –mmap produz um melhor desempenho. Entretanto, o –mmap pode causar comportamento indefinido (incluindo despejos do núcleo) se um arquivo de input encolher enquanto o grep estiver em operação, ou se ocorrer um erro de E/S.
-U, –binário Trate o(s) arquivo(s) como binário. Por padrão, em MS-DOS e MS -Windows, o grep adivinha o tipo de arquivo observando os conteúdos dos primeiros 32KB lidos do arquivo. Se o grep decidir que o arquivo é um arquivo de texto, ele remove os caracteres CR do conteúdo original do arquivo (expressões regulares do tomake com ^ e $ funcionam corretamente). Especificando -U anula este trabalho de adivinhação, fazendo com que todos os arquivos sejam lidos e passados para o mecanismo de correspondência literalmente; se o arquivo for um arquivo de texto com pares CR/LF no final de cada linha, isto fará com que algumas expressões regulares falhem. Esta opção não tem efeito em outras plataformas além do MS-DOS e MS -Windows. -z, –null-data Tratar a entrada como um conjunto de linhas, cada uma terminada por um byte zero (o caracter ASCII NUL) em vez de uma nova linha. Como a opção -Zor –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 strings. Expressões regulares são construídas analogamente a expressões aritméticas, usando operadores variados para combinar expressões menores.
grep entende três versões diferentes de sintaxe de expressões regulares: “básica”, “estendida” e “perl”. No GNU grep, não há diferença na funcionalidade disponível entre as sintaxes básica e estendida. Em outras implementações, as expressões regulares básicas são menos poderosas. A seguinte descrição aplica-se a expressões regulares estendidas; as diferenças para expressões regulares básicas são resumidas posteriormente. Expressões regulares Perl dão funcionalidade adicional, e são documentadas em pcresyntax(3) e pcrepattern(3), mas podem não estar disponíveis em todos os sistemas.
Os blocos de construção fundamentais são as expressões regulares que combinam com um único caractere. A maioria dos caracteres, incluindo todas as letras e dígitos, são expressões regulares que combinam com eles mesmos. Qualquer meta-caracter com significado especial pode ser citado precedendo-o com uma barra invertida.
O período . corresponde a qualquer caractere.
As classes de caracteres e expressões de parênteses
Uma expressão de parênteses é uma lista de caracteres delimitada por . Ela corresponde a qualquer caractere dessa lista; se o primeiro caractere da lista é o carpete ^ então corresponde a qualquer caractere que não esteja na lista. Por exemplo, a expressão regular corresponde ao dígito anysingle.
Em uma expressão de colchete, uma expressão de intervalo consiste em dois caracteres separados por um hífen. Ela corresponde a qualquer caractere que se enquadra entre dois caracteres, inclusive, usando a sequência de agrupamento do locale e o conjunto de caracteres. Por exemplo, no locale C padrão, é equivalente a. Muitos locales ordenam os caracteres em ordem de dicionário, e nestes locais não é tipicamente equivalente a ; pode ser equivalente a , por exemplo. Para obter a interpretação tradicional de expressões entre parênteses, você pode usar o locale C definindo a variável de ambienteLC_ALL para o valor C.
Finalmente, certas classes nomeadas de caracteres são predefinidas dentro de expressões entre parênteses, como a seguir. Seus nomes são auto-explicativos e são, , , , , , , , , , , e . Por exemplo, ] significa , exceto que a última forma depende da codificação de caracteres em Clocale e ASCII, enquanto a primeira é independente do locale e do conjunto de caracteres. (Note que os parênteses nestes nomes de classe são parte dos nomes simbólicos, e devem ser incluídos além dos parênteses que delimitam a expressão de parênteses). A maioria dos meta-caracteres perde seu significado especial dentro das expressões entre parênteses. Para incluir um ] literal, coloque-o primeiro na lista. Da mesma forma, para incluir um ^ literal coloque-o em qualquer lugar, mas primeiro. Finalmente, para incluir um literal – coloque por último.
Ancoragem
O carpete ^ e o cifrão $ são meta-caracteres que correspondem respectivamente à string vazia no início e no final de uma linha.
O caractere da barra invertida e as expressões especiais
Os símbolos \< e \> respectivamente correspondem à cadeia de caracteres vazia no início e no fim de uma palavra. O símbolo corresponde ao fio vazio na borda de uma palavra, e B corresponde ao fio vazio desde que não esteja na borda de uma palavra. O símbolo W é sinónimo de] e W é sinónimo de ].
Repetição
Uma expressão regular pode ser seguida por um dos vários operadores de repetição: ?
O item anterior é opcional e será igualado no máximo uma vez.
*
O item anterior será igualado zero ou mais vezes.
>+
O item anterior será igualado uma ou mais vezes.
{n}
O item anterior será igualado exactamente n vezes.
{n,}
O item anterior será igualado n ou mais vezes.
O item anterior será igualado n ou mais vezes.
>O item anterior será igualado n ou mais vezes.
{,m}
O item anterior é igualado no máximo n vezes.
{n,m}
O item anterior é igualado no mínimo n vezes, mas não mais que m vezes.
Concatenação
Duas expressões regulares podem ser concatenadas; a expressão regular resultante corresponde a qualquer string formada pela concatenação de duas substrings que respetivamente correspondem às expressões concatenadas.
Alternation
Duas expressões regulares podem ser unidas pelo operador infix |; a expressão regular resultante combina com qualquer string que combine com qualquer expressão alternada.
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 ser incluída entre parênteses para ultrapassar estas regras de precedência e formar uma subexpressão.
Back References and Subexpressions
A contra-referência \n, onde n é um único dígito, corresponde ao substrato previamente combinado pela subexpressão entre parênteses da expressão regular.
Expressões regulares básicas vs. extensas
Nas expressões regulares básicas os meta-caracteres ?, +, {, |, (, e ) perdem o seu significado especial; em vez disso, use as versões com contrabarragens \?, \ +, \ {, \|, \(, e \).
O egrep tradicional não suportava o { meta-caracter, e algumas implementações egrep suportam { em vez disso, então scripts portáteis devem evitar { nos padrões grep -E e devem usar para combinar um {.
GNU grep -E literalmente, tentando suportar o uso tradicional, assumindo que { não é especial se for o início de uma especificação de intervalo inválido. Por exemplo, o comando grep -E ‘{1’ procura a string de dois caracteres {1 em vez de reportar um erro de sintaxe na expressão teregular. POSIX.2 permite este comportamento como uma extensão, mas scripts portáteis devem evitá-lo.
Anvironment Variables
O comportamento do grep é afetado pelas seguintes variáveis de ambiente.
O locale para a categoria LC_foo é especificado examinando as três variáveis de ambiente LC_ALL, LC_foo, LANG, nessa ordem. A primeira destas variáveis que é definida especifica o locale. Por exemplo, se LC_ALL não está definida, mas LC_MESSAGES está definida topt_BR, então o locale português brasileiro é usado para a categoria LC_MESSAGES. O locale em C é usado se nenhuma dessas variáveis de ambiente for areset, se o catálogo de locale não estiver instalado, ou se o grep não tiver sido compilado com suporte a idioma nacional ( NLS ).
GREP_OPTIONS Esta variável especifica opções padrão a serem colocadas na frente de qualquer opção explícita. Por exemplo, se o GREP_OPTIONS é’–binary-files=without-match –directories=skip’, o grep comporta-se como se as duas opções –binary-files=without-match e–directories=skip tivessem sido especificadas antes de qualquer opção explícita. As especificações das opções são separadas por espaço em branco. Uma barra invertida escapa ao próximo caractere, então pode ser usada para especificar uma opção contendo espaço em branco ou uma barra invertida. GREP_COLOR Esta variável especifica a cor usada para destacar o texto combinado (não vazio). Ela é depreciada em favor do GREP_COLORS, mas ainda é suportada. As capacidades de mt, ms e mc do GREP_COLORS têm prioridade sobre ele. Ele só pode especificar a cor usada para destacar o texto correspondente não vazio em qualquer linha correspondente (uma linha selecionada quando a opção de linha de comando -v é omitida, ou uma linha de contexto quando -v é especificada). O valor por defeito é 01;31, o que significa um texto em negrito em primeiro plano no fundo padrão do terminal. GREP_COLORS Especifica as cores e outros atributos usados para destacar várias partes da saída. Seu valor é uma lista de capacidades separada por dois pontos que tem como padrão ms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36 com as capacidades rv e ne booleanas omitidas (ou seja, falsas). Os recursos suportados são os seguintes. sl=
SGR substring para linhas inteiras selecionadas (ou seja, linhas correspondentes quando a opção -v de linha de comando é omitida, ou linhas não correspondentes quando -v é especificada). Se no entanto a capacidade booleana rv e a opção de linha de comando -v forem ambas especificadas, ela se aplica a linhas correspondentes ao contexto. O padrão está vazio (ou seja, o par de cores padrão do terminal).
cx=
SGR substring para linhas completas do contexto (ou seja, linhas não correspondentes quando a opção de linha de comando -v é omitida, ou linhas correspondentes quando -v é especificada). Se entretanto a capacidade booleana rv e a opção de linha de comando -v forem ambas especificadas, ela se aplica a linhas não correspondentes selecionadas em vez disso. O padrão é vazio (ou seja, o par de cores padrão do terminal).
rv
Valor booleano que inverte (swaps) os significados das capacidades sl= e cx= quando a opção -v de linha de comando é especificada. O defeito é falso (isto é, a capacidade é omitida).
mt=01;31
SGR substring para correspondência de texto não vazio em qualquer linha de correspondência (isto é, uma linha selecionada quando a opção -v de linha de comando é omitida, ou um contexto linewhen -v é especificado). Esta definição é equivalente a definir ambos ms= e mc= de uma só vez para o mesmo valor. O padrão é um texto vermelho negrito em primeiro plano sobre o fundo da linha atual.
ms=01;31
SGR substring para correspondência de texto não vazio em uma linha selecionada. (Isto só é usado quando a opção -v da linha de comando é omitida.) O efeito desta capacidadel= (ou cx= se rv) permanece ativo quando isto entra em ação. O padrão é um texto vermelho em negrito em primeiro plano sobre o fundo da linha atual.
mc=01;31
SGR substring para correspondência de texto não vazio em uma linha de contexto. (Isto só é usado quando a opção -v da linha de comando é especificada.) O efeito da capacidadecx= (ou sl= se rv) permanece ativo quando isto entra em ação. O padrão é um texto vermelho em negrito em primeiro plano sobre o fundo da linha atual.
fn=35
SGR substring para nomes de arquivos que prefixam qualquer linha de conteúdo. O padrão é um texto magenta em primeiro plano sobre o fundo padrão do terminal.
ln=32
SGR substring para prefixação de qualquer linha de conteúdo. O padrão é um texto verde em primeiro plano sobre o fundo padrão do terminal.
bn=32
SGR substring para byte offsets prefixando qualquer linha de conteúdo. O padrão é um texto verde em primeiro plano sobre o fundo padrão do terminal.
se=36
SGR substring para separadores que são inseridos entre campos de linha selecionados (:), entre campos de linha de contexto, (-), e entre grupos de linhas adjetivas quando o contexto não zero é especificado (–). O padrão é um texto ciano em primeiro plano sobre o fundo padrão do terminal.
ne
Valor booleano que impede a limpeza até o fim da linha usando Erase in Line (EL) para a direita (\33. LC_ALL, LC_CTYPE, LANG Essas variáveis especificam o locale para a categoria LC_CTYPE, que determina o tipo de caracteres, por exemplo, quais caracteres são espaços em branco. LC_ALL, LC_MESSAGES, LANG Estas variáveis especificam o locale para a categoria LC_MESSAGES, que determina o idioma que o grep usa para as mensagens. O Clocale padrão usa mensagens em inglês americano. POSIXLY_CORRECT Se definido, o grep se comporta como POSIX.2 requer; caso contrário, o grep se comporta mais como outros programas GNU.POSIX.2 requer que as opções que seguem nomes de arquivos devem ser tratadas como nomes de arquivos; por padrão, tais opções são permutadas para a frente da lista dooperand e são tratadas como opções. Além disso, o POSIX.2 requer que as opções não reconhecidas sejam diagnosticadas como “ilegais”, mas como elas não são realmente contra a lei, o padrão é diagnosticá-las como “inválidas”. POSIXLY_CORRECT também desabilita _N_GNU_nonoption_argv_flags_,descrito abaixo. _N_GNU_nonoption_argv_flags_ (Aqui N é o ID do processo numérico do grep.) Se o i-ésimo caractere do valor desta variável de ambiente for 1, não considere o i-ésimo operando do grep como uma opção, mesmo que pareça ser uma opção. Uma shell pode colocar esta variável no ambiente para cada comando que executa, especificando quais operandos são os resultados da expansão do nome do arquivo wildcard e portanto não devem ser tratados como opções. Este comportamento está disponível apenas com a biblioteca C GNU, e apenas quando POSIXLY_CORRECT não está definido.
Sair Status
Normalmente, o status de saída é 0 se as linhas selecionadas forem encontradas e 1 caso contrário. Mas o estado da saída é 2 se ocorrer um erro, a menos que a opção -q ou –quiet ou –silent seja usada e uma linha selecionada seja encontrada. Note, no entanto, que o POSIX apenas exige, para programas como ogrep, cmp e diff, que o estado de saída em caso de erro seja maior que 1; é portanto aconselhável, por uma questão de portabilidade, que se teste a lógica touse para esta condição geral em vez de uma estrita igualdade com 2.
Copyright
Copyright 1998-2000, 2002, 2005-2010 Free Software Foundation, Inc.
Isto é software livre; veja a fonte para condições de cópia. Não há garantia; nem mesmo para MERCANTIBILIDADE ou ADEQUAÇÃO PARA UM PARTICULARPURPOSE.
>
Bugs
Reporting Bugs
Relatar bugs para <[email protected]>, uma lista de discussão cuja página web é <http://lists.gnu.org/mailman/listinfo/bug-grep>.grep’s Savannah bug tracker está localizada em <http://savannah.gnu.org/bugs/?group=grep>.
Known Bugs
Grandes contagens de repetição na construção {n,m} podem fazer o grep usar muita memória. Além disso, certas outras expressões regulares daobscure requerem tempo e espaço exponencial, e podem fazer com que o grep fique sem memória.
Back-referências são muito lentas, e podem requerer tempo exponencial.
Veja Também
Regular Manual Pages
awk(1), cmp(1), diff(1), find(1), gzip(1), perl(1), sed(1), sort(1), xargs(1), zgrep(1), mmap(2), read(2), pcre(3), pcresyntax(3), pcrepattern(3),terminfo(5), glob(7), regex(7).
POSIX Manual do Programador Página
grep(1p).
TeXinfo Documentação
A documentação completa do grep é mantida como um manual TeXinfo. Se os programas info e grep estiverem devidamente instalados no seu site, o comando info grep deverá dar-lhe acesso ao manual completo.
Notas
GNU’s não é Unix, mas Unix é uma besta; sua forma plural é Unixen.