Comando grep

Comando grep

O comado grep serve de filtro para encontra programa, arquivos, diretórios, palavra dentro de arquivos, etc.

Bom dá pra fazer muita coisa com esse comando, usando ele sempre agregado com outro comando ou só, para usar junto com outro programa

use o pipe ( | ).

Nesse primeiro vou listar o diretório ls /usr/bin |less  sem o grep e depois com o grep e localizar qualquer  programa, dessa forma eu estou listando todo diretório /usr/bin certo.

[caption id="" align="aligncenter" width="400"]Filtro de pesquisa ls /usr/bin |less[/caption]

Imagine o pé no saco que seria procurar por um programa assim pela seta até achar o que você quer. Como o grep é um filtro vou fazer a mesma coisa vou listar o diretório ls /usr/bin |grep para achar o programa firefox.

[caption id="" align="aligncenter" width="400"]Usando grep para achar o porgrama firefox ls /usr/bin |grep firefox[/caption]

Ficou bem mais fácil nê, você pode usar o grep também em arquivo de texto para selecionar certa palavra ou  parte do texto.

Observe o arquivo do manual du, que está localizado no diretório /home/sidney/du.

Usando o grep prara selecionar palavras em um arquivo
Vou só procurar pela palavra detalhes se essa palavra estiver no aquivo o comando grep vai me retornar essa palavra.

Obs:. como é um arquivo de texto tenho que usar o comando cat junto com o grep.

[caption id="" align="aligncenter" width="400"]Usando grep com o comando cat cat -n du |grep -i saida ; cat -n |grep -i detalhes[/caption]

Basicamente é isso que esse comando faz, o grep é muito útil quando precisa fazer pesquisa para baixar pacotes selecionar programas e muito mais, vai da sua necessidade no momento, para mais informação man grep.

Manpages man grepNome
grep, egrep, fgrep – linhas de impressão correspondentes a um padrão

Sinopse
grep [opções] PADRÃO [FILE …]
grep [opções] [PADRÃO -e | -f arquivo] [FILE …]

Descrição
grep procura (de entrada ou padrão se nenhum arquivo são nomeados, ou se um único hífen-menos (-) é dado como nome do arquivo) a entrada chamada ARQUIVO s para linhas que contêm uma correspondência com o modelo dado. Por padrão, grep imprime as linhas correspondentes.
Além disso, dois programas de variantes egrep e fgrep estão disponíveis. Egrep é o mesmo que -E grep. Fgrep é o mesmo que o grep -F. Invocação directa quer como egrep ou fgrep está obsoleta, mas é fornecida para permitir que aplicativos históricos que dependem deles para executar sem modificações.

opções
Genérico Informações sobre o Programa
–Socorro Imprimir uma mensagem de uso resumindo brevemente as opções de linha de comando e o endereço de relatório de bug, em seguida, sair.
-V, –version Imprimir o número da versão do grep para o fluxo de saída padrão. Este número versão deve ser incluída em todos os relatórios de erros (veja abaixo).
Seleção Matcher
-E, –extended-Regexp Interpretar PADRÃO como uma expressão regular estendida (ERE, veja abaixo). (-E É especificado por POSIX.)
-F, –fixed-Strings Interpretar PADRÃO como uma lista de cordas fixas, separadas por novas linhas, cada um dos quais a ser correspondido. (-F É especificado por POSIX.)
-G, –basic-Regexp Interpretar PADRÃO como uma expressão regular básica (BRE, veja abaixo). Este é o padrão.
-P, –perl-Regexp Interpretar PADRÃO como uma expressão regular Perl. Isto é altamente experimental e grep -P pode avisar de características não implementadas.
Controle combinando
-e PADRÃO, –regexp = PADRÃO Use PADRÃO como o padrão. Isto pode ser usado para especificar vários padrões de pesquisa, ou para proteger um padrão começando com um hífen (-). (-e É especificado por POSIX.)
-f arquivo, –file = ARQUIVO Obter padrões de arquivo, uma por linha. O arquivo vazio contém padrões de zero e, portanto, corresponde a nada. (-f É especificado por POSIX.)
-i, –ignore-case Ignorar as distinções de caso, tanto o modelo e os arquivos de entrada. (-i É especificada pelo POSIX.)
-v, –invert-jogo Inverter o sentido de correspondência, para selecionar linhas não correspondentes. (-v É especificado por POSIX.)
-w, –word-regexp Seleccione apenas as linhas que contêm jogos que formam palavras inteiras. O teste é que a subcadeia correspondente deve ser tanto no inicio da linha, ou precedida por um não-palavra carácter constituinte. Do mesmo modo, ele deve ser, quer no final da linha ou seguido por um carácter não-palavra constituinte. caracteres de palavra-constituinte são letras, números, e sublinhado.
-x, –line-regexp Seleccione apenas as partidas que correspondem exatamente toda a linha. (-x É especificado pelo POSIX).
-y Sinónimos obsoleto para -i.

Controle de Saída Geral
-c, –count Suprimir a produção normal; em vez imprimir uma contagem de linhas correspondentes para cada arquivo de entrada. Com o -v, opção –invert-jogo (veja abaixo), a contagem de linhas não correspondentes. (-c É especificado por POSIX.)
–color [= QUANDO], –colour [= QUANDO] Rodeiam as strings correspondentes (não-vazio), as linhas idênticas, linhas de contexto, nomes de arquivos, números de linha, offsets de bytes, e separadores (por campos e grupos de linhas de contexto) com sequências de escape para mostrar-los em cores no terminal. As cores são definidos pelas variáveis ​​GREP_COLORS ambiente. O GREP_COLOR variável de ambiente obsoleto ainda é suportado, mas a sua definição não têm prioridade. QUANDO nunca é, sempre, ou auto.
-L, –files-Sem-jogo Suprimir a produção normal; em vez imprimir o nome de cada arquivo de entrada a partir do qual não há saída normalmente teriam sido impressos. A digitalização será interrompida no primeiro jogo.
-l, –files-com-partidas Suprimir a produção normal; em vez imprimir o nome de cada arquivo de entrada a partir do qual a saída normalmente teriam sido impressos. A digitalização será interrompida no primeiro jogo. (-l É especificada pelo POSIX.)
-m NUM, –max-count = NUM Pare de ler um arquivo depois de linhas correspondentes NUM. Se a entrada é a entrada padrão de um arquivo regular, e as linhas correspondentes NUM são emitidos, grep garante que a entrada padrão está posicionada para logo após a última linha de harmonização antes de sair, independentemente da presença de fuga linhas de contexto. Isso permite que um processo de chamada para retomar a pesquisa. Quando grep pára após linhas correspondentes NUM, ele produz quaisquer linhas de contexto à direita. Quando a opção -c ou –count também é usado, grep não emite uma contagem maior do que NUM. Quando a opção –invert-match -v ou também é usado, grep pára após a saída NUM linhas não correspondentes.
-o, –only-matching Imprimir apenas as partes correspondentes (não vazios) de uma linha de harmonização, com cada tal parte em uma linha de saída separada.
-q, –quiet, –silent Quieto; não escreva nada na saída padrão. Saia imediatamente com status de zero se um jogo for encontrado, mesmo que um erro foi detectado. Ver também a opção -s ou –no-mensagens. (Q é especificado por POSIX.)
-s, –no-mensagens Suprimir mensagens de erro sobre arquivos inexistentes ou ilegíveis. Portabilidade nota: ao contrário do GNU grep, 7ª Edição grep Unix não estar de acordo com POSIX, porque faltou -q e sua opção -s comportou-se como opção -q do GNU grep USG grep de estilo também não dispunha -q mas a sua opção -s. comportou-se como GNU grep.  Shell scripts portáveis ​​devem evitar tanto -q e -s e deve redirecionar a saída padrão e erro para / dev / null em vez disso. (-s É especificado por POSIX.)
Saída de Controle Linha Prefixo
-b, –byte-offset Imprimir o deslocamento dentro do arquivo de entrada antes de cada linha de saída de bytes baseado em 0. Se -o (–only-matching) é especificado, imprimir o deslocamento da própria parte correspondente.
-H, –with-Filename Imprimir o nome do arquivo para cada jogo. Este é o padrão quando há mais de um arquivo para pesquisa.
-h, –no-filename Suprimir a prefixação de nomes de arquivo na saída. Este é o padrão quando há apenas um arquivo (ou única entrada padrão) para procurar.
–label = LABEL Entrada de exibição realmente provenientes da entrada padrão como entrada vindo do rótulo do arquivo. Isto é especialmente útil ao implementar ferramentas como zgrep, por exemplo, gzip -CD foo.gz | grep –label = foo -H alguma coisa. Veja também a opção -H.
-n, –line-number Prefixar cada linha de saída com o número da linha 1-baseada dentro do seu arquivo de entrada. (-n É especificado por POSIX.)
-T,-Guia –initial Certifique-se que o primeiro caractere do conteúdo real linha encontra-se em uma parada de tabulação, de modo que o alinhamento de guias parece normal. Isso é útil com opções esse prefixo sua produção ao conteúdo real: -H, -n e -b. A fim de melhorar a probabilidade de que as linhas de um único ficheiro irá iniciar todos na mesma coluna, isto também faz com que o número de linha e byte offset (se presente) a ser impresso numa largura mínima campo tamanho.
-u, unix-byte-offsets Relatório de estilo Unix offsets de bytes. Essa opção faz com grep para relatar deslocamentos byte como se o arquivo fosse um arquivo de texto Unix-style, ou seja, com caracteres CR tirou. Isto irá produzir resultados idênticos de executar grep em uma máquina Unix. Esta opção não tem efeito a menos que -b opção também é usado;  ele não tem efeito sobre outras plataformas que não MS-DOS e MS-Windows.
-Z, –null Saída de um byte zero (o caractere ASCII NUL) em vez do carácter 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 de costume. Esta opção faz com que a saída inequívoca, mesmo na presença de nomes de arquivos que contenham caracteres incomuns, como novas linhas. Esta opção pode ser usada com comandos como encontrar -print0, perl -0, tipo -z, e xargs -0 para processar nomes de arquivos arbitrários, até mesmo aqueles que contêm caracteres de nova linha.

Controle Linha Contexto
-A NUM, –após-context = NUM Imprimir linhas Num de fuga contexto depois de linhas correspondentes. Coloca uma linha contendo um separador de grupo (-) entre grupos contíguos de partidas. Com a -o ou opção –only de correspondência, isso não tem efeito e um aviso é dado.
-B NUM, –before-context = NUM Imprimir linhas Num de líder contexto antes de linhas correspondentes. Coloca uma linha contendo um separador de grupo (-) entre grupos contíguos de partidas. Com a -o ou opção –only de correspondência, isso não tem efeito e um aviso é dado.
-C NUM, – NUM, –context = NUM Imprimir linhas Num de contexto de saída. Coloca uma linha contendo um separador de grupo (-) entre grupos contíguos de partidas. Com a -o ou opção –only de correspondência, isso não tem efeito e um aviso é dado.

Arquivo e Diretório Seleção
-a, –text Processar um ficheiro binário como se se tratasse de texto; isto é equivalente ao –binary-files = opção de texto.
–binary-files = TIPO Se os primeiros bytes de um arquivo indicar que o arquivo contém dados binários, suponha que o arquivo é do tipo TYPE. Por padrão, o TYPE é binário, e grep normalmente gera tanto uma mensagem de uma linha dizendo que um arquivo binário corresponde, ou nenhuma mensagem se não houver correspondência. Se TYPE é sem-jogo, grep assume que um arquivo binário não corresponder; isso é equivalente a opção -I. Se TYPE é texto, grep processa um arquivo binário como se fosse texto; isto é equivalente à opção -a Aviso:. grep –binary-files = força a saída de texto de lixo binário, que podem ter efeitos colaterais desagradáveis ​​se a saída for um terminal e se o controlador do terminal interpreta algumas delas como comandos.
AÇÃO -D, –devices = AÇÃO Se um arquivo de entrada é um dispositivo, FIFO ou socket, usar a ação para processá-lo. Por padrão, a ação é lido, o que significa que os dispositivos são lidos como se fossem arquivos comuns. Se a ação é ignorar, os dispositivos são silenciosamente omitidas.
AÇÃO -d, –directories = AÇÃO Se um arquivo de entrada é um diretório, use ACTION para processá-lo. Por padrão, a ação é lido, o que significa que os diretórios são lidos como se fossem arquivos comuns. Se a ação é ignorar, os diretórios são silenciosamente ignorados. Se a ação é recurse, grep lê todos os arquivos em cada diretório, recursivamente; isso é equivalente à opção -r.
–exclude = GLOB Ir arquivos cujo nome base corresponde glob (utilizando a correspondência de curinga). Um glob de nome de arquivo pode usar *,? E […], como curingas, e \ citar um curinga ou barra invertida literalmente.
–exclude-from = ARQUIVO Ir arquivos cujo nome de base corresponde a qualquer das de nome de arquivo globs ler do arquivo (utilizando a correspondência de curinga, conforme descrito em –exclude).
–exclude-dir = DIR Excluir pastas que correspondem ao padrão DIR a partir de pesquisas recursivas.
-EU Processar um arquivo binário como se não conter dados correspondentes; isto é equivalente aos –binary-files = sem-match opção.
–include = GLOB Pesquisar apenas arquivos cujo nome base corresponde glob (utilizando a correspondência de curinga, conforme descrito em –exclude).
-R, -R, –recursive Leia todos os arquivos em cada diretório, recursivamente; isto é equivalente ao recurso opção -d.

Outras opções
–line-tamponada Usar a linha de buffer na saída. Isso pode causar uma penalidade de desempenho.
–mmap Se possível, use o mmap (2) chamada de sistema para ler a entrada, em vez do padrão ler (2) chamada de sistema. Em algumas situações, –mmap produz um melhor desempenho. No entanto, –mmap pode causar um comportamento indefinido (incluindo depósitos de núcleo) se um arquivo de entrada encolhe enquanto grep está a funcionar, ou se um erro de E / S ocorre.
-U, –binary Trate o arquivo (s) como binário. Por padrão, em MS-DOS e MS-Windows, grep adivinha o tipo de arquivo por olhar para o conteúdo do primeiro 32KB lidos do arquivo. Se grep decide o arquivo é um arquivo de texto, ele retira os caracteres CR a partir dos conteúdos do arquivo original (para fazer expressões regulares com ^ e $ trabalho corretamente). Especificando -U anula esta adivinhação, fazendo com que todos os arquivos para ser lido e passado para o mecanismo de correspondência na íntegra; se o arquivo é um arquivo de texto com pares CR / LF no final de cada linha, isso fará com que algumas expressões regulares para falhar. Esta opção não tem efeito sobre outras plataformas que não MS-DOS e MS-Windows.
-z, –null-data Tratar a entrada como um conjunto de linhas, cada uma terminada por um byte zero (o caractere ASCII NUL) em vez de uma nova linha. Como a Z ou a opção –null, esta opção pode ser usada com comandos como o tipo -z para processar nomes de arquivos arbitrários.


Expressões regulares
Uma expressão regular é um padrão que descreve um conjunto de cordas. As expressões regulares são construídos de forma análoga à aritmética expressões, usando vários operadores para combinar expressões menores.
grep compreende três versões diferentes de sintaxe de expressão regular: “básico”, “estendida” e “perl”. Em GNU grep, não há diferença em termos de funcionalidade disponível entre as sintaxes básicas e estendidas. Em outras implementações, expressões regulares básicas são menos poderosos. A seguinte descrição aplica-se a expressões regulares estendidas; diferenças de expressões regulares básicas são resumidas em seguida. Expressões regulares Perl dar funcionalidade adicional, e estão documentadas no 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 correspondam a um único personagem. A maioria dos caracteres, incluindo todas as letras e algarismos, são expressões regulares que se correspondem. Qualquer meta caracteres com significado especial pode ser citado precedendo-o com uma barra invertida.
O período. Corresponde a qualquer caractere único.

Classes de caracteres e expressões de colchetes
A expressão de colchetes é uma lista de caracteres englobados por [e]. Ele corresponde a qualquer caractere único nessa lista; Se o primeiro caractere da lista é o acento circunflexo ^ então ele corresponde a qualquer caractere não está na lista. Por exemplo, a expressão regular [0123456789] corresponde a qualquer dígito único. Dentro de uma expressão agrupada, uma expressão de gama é composta por dois caracteres separados por um hífen.   Ele corresponde a qualquer caractere único que classifica entre os dois personagens, inclusive, usando da localidade sequência e caráter recolha set. Por exemplo, na localidade padrão C, [anúncio] é equivalente a [ABCD]. Muitas localidades classificar caracteres na ordem do dicionário, e nesses locais [anúncio] não é tipicamente equivalente a [ABCD]; pode ser equivalente a [aBbCcDd], por exemplo. Para obter a interpretação tradicional de expressões de colchetes, você pode utilizar o idioma C, definindo a variável de ambiente LC_ALL para o valor C. Finalmente, certas classes nomeadas de caracteres são predefinidos dentro de expressões de colchetes, como se segue. Seus nomes são auto-explicativas, e eles are [:alnum:] , [:alpha:] , [:cntrl:] , [:digit:] , [:graph:] , [:lower:] , [:print:] , [:punct:] , [:space:] , [:upper:] , e [: xdigit:]. Por exemplo, [[: alnum:]] significa [0-9A-Za-z], exceto a última forma depende do locale C e a codificação de caracteres ASCII, enquanto a primeira é independente do locale e conjunto de caracteres. (Note-se que os suportes nestes nomes de classe são parte dos nomes simbólicos e devem ser incluídos, para além dos suportes que delimitam a expressão suporte.) A maioria dos meta-caracteres perdem seu significado especial dentro de expressões de colchetes. Para incluir um literal] colocá-lo em primeiro lugar na lista. Da mesma forma, para incluir um lugar literal ^ lo em qualquer lugar, mas em primeiro lugar. Finalmente, para incluir um literal – colocá-lo passado.

O acento circunflexo ^ e do dólar $ são meta-caracteres que correspondem, respectivamente, a cadeia vazia no início e no fim de uma linha.

O caractere de barra invertida e Expressões Especial
Os símbolos \ <e \>, respectivamente coincidir com a cadeia vazia no início e no fim de uma palavra. O símbolo \ b corresponde à cadeia vazia na borda de uma palavra, e \ B corresponde a seqüência vazia desde que não esteja no limite de uma palavra. O símbolo \ w é sinônimo de [[: alnum:]] e \ W é sinônimo de [^ [: alnum:]].

Repetição
Uma expressão regular que pode ser seguido por um de vários operadores de repetição:
? O item precedente é opcional e combinados no máximo uma vez. * O item precedente será combinado zero ou mais vezes. + O item precedente será combinado uma ou mais vezes. {N}    O item precedente corresponde exatamente n vezes. {N,} O item precedente corresponde n ou mais vezes. {, M} O item precedente corresponde no máximo m vezes. {N, m} O item precedente corresponde pelo menos n vezes, mas não mais do que m vezes.

Concatenação
Duas expressões regulares podem ser concatenados; a expressão regular resultante corresponde a qualquer cadeia formada pela concatenação de duas substrings que correspondem, respectivamente, as expressões concatenadas.
alternação
Duas expressões regulares podem ser unidas pelo operador infix |; a expressão regular resultante corresponde a qualquer cadeia correspondência quer expressão alternativa.

Precedência
Repetição tem precedência sobre concatenação, que por sua vez tem precedência sobre alternância. A expressão inteira pode ser colocada entre parênteses para substituir essas regras de precedência e formam uma subexpressão.
Referências para trás e Subexpressões
O \ n back-referência, onde n é um único dígito, corresponde à substring previamente compensada pela enésima expressão de parêntese da expressão regular.
Básico vs Expressões Regulares Estendidas
? Em expressões regulares básicas meta-caracteres, +, {, |, (e) perdem seu significado especial; em vez disso use as versões com barra invertida \, \ +, \ {, \ |?, \ (e \). Egrep tradicional não apoiou a {meta-caráter, e algumas implementações egrep support \ {vez, então scripts de portáteis devem evitar {nos padrões -E grep e deve usar [{] para corresponder a um literal {. GNU grep -E tenta suportar o uso tradicional por assumir que {não é especial se seria 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 ao invés de relatar um erro de sintaxe na expressão regular. POSIX.2 permite esse comportamento como uma extensão, mas scripts de portáteis devem evitá-lo.

variáveis ​​ambientais
O comportamento do grep é afetado pelas variáveis ​​de ambiente a seguir.
A localidade para foo categoria LC_ é especificado por examinar a três variáveis ​​de ambiente LC_ALL, LC_ foo, LANG, nessa ordem. A primeira dessas variáveis ​​que está definido especifica a localidade. Por exemplo, se LC_ALL não está definido, mas LC_MESSAGES estiver definida para pt_BR, então a localidade Português brasileiro é usado para a categoria LC_MESSAGES. A localidade C é usado se nenhuma destas variáveis ​​de ambiente são definidas, se o catálogo de locais não estiver instalado, ou se grep não foi compilado com suporte ao idioma nacional (NLS).

GREP_OPTIONS
Esta variável especifica opções padrão para ser colocado na frente de quaisquer opções explícitas. Por exemplo, se GREP_OPTIONS é ‘–binary-files = sem-match –directories = pular’, grep se comporta como se as duas opções –binary-files = sem-jogo e –directories = salto tinha sido especificada antes de qualquer opções explícitas. características opcionais são separados por espaços em branco. Uma barra invertida escapa a próxima personagem, então ele pode ser usado para especificar uma opção que contenha espaços em branco ou uma barra invertida.

GREP_COLOR
Esta variável especifica a cor usada para realçar texto correspondente (não-vazia). Ele é depreciado em favor do GREP_COLORS, mas ainda suportados. MT, MS, e capacidades de mc de GREP_COLORS têm prioridade sobre ele. Ele só pode especificar a cor usada para destacar o texto correspondente não-vazia em qualquer linha de correspondência (uma linha selecionada quando a opção de linha de comando -v for omitido, ou uma linha de contexto quando -v for especificado). O padrão é 01; 31, o que significa um texto de primeiro plano negrito vermelho no fundo padrão do terminal.

GREP_COLORS
Especifica as cores e outros atributos utilizados para destacar várias partes da saída. Seu valor é uma lista separada por dois pontos de capacidades que o padrão é ms = 01; 31: mc = 01; 31: sl =: cx =: fn = 35: ln = 32: bn = 32: SE = 36 com o rv e capacidades boolean ne omitido (ie, false). capacidades suportadas são as seguintes.
sl = SGR subsequência de linhas selecionadas inteiras (ou seja, as linhas correspondentes quando a opção de linha de comando -v for omitido, ou as linhas não correspondentes ao -v for especificado). Se, contudo, a capacidade rv boolean ea opção de linha de comando -v forem especificados, aplica-se a linhas correspondentes contexto em vez. O padrão é vazio (ou seja, par de cores padrão do terminal).
cx =
SGR subsequência de linhas de contexto todo (ou seja, não-correspondência de linhas quando a opção de linha de comando -v for omitido, ou linhas correspondentes quando -v for especificado). Se, contudo, a capacidade rv boolean ea opção de linha de comando -v forem especificados, aplica-se a linhas não correspondentes selecionados em vez disso. O padrão é vazio (ou seja, par de cores padrão do terminal).
rv
Valor booleano que inverte (swaps) os significados do sl = e cx = capacidades quando a opção de linha de comando -v for especificado. O padrão é falso (ou seja, a capacidade é omitido).
MT = 01; 31
SGR subsequência de harmonização do texto não-vazia em qualquer linha correspondente (ou seja, uma linha selecionada quando a opção de linha de comando -v for omitido, ou uma linha de contexto quando -v for especificado). Definir este é equivalente a definir ambas as ms = e mc = de uma vez para o mesmo valor. O padrão é um primeiro plano texto vermelho corajoso sobre o fundo linha atual.
ms = 01; 31
SGR subsequência de harmonização do texto não-vazia em uma linha selecionada. (Isso só é usado quando a opção de linha de comando -v é omitido.) O efeito do sl = (ou cx = se rv) capacidade permanece ativo quando este entra em ação. O padrão é uma ousada plano texto vermelho sobre a linha atual fundo.
mc = 01; 31
SGR subsequência de harmonização do texto não-vazia em uma linha de contexto. (Isso só é usado quando a opção de linha de comando -v for especificado.) O efeito da cx = (ou sl = se rv) capacidade permanece ativo quando este entra em ação. O padrão é um primeiro plano texto vermelho corajoso sobre a linha atual fundo.
fn = 35 SGR substring para nomes de arquivos predefinir qualquer linha de conteúdo. O padrão é um primeiro plano de texto magenta sobre o fundo padrão do terminal.
ln = 32
SGR substring para números de linha predefinir qualquer linha de conteúdo. O padrão é um primeiro plano verde do texto sobre o fundo padrão do terminal.
bn = 32
SGR substring para deslocamentos byte predefinir qualquer linha de conteúdo. O padrão é um primeiro plano verde do texto sobre o fundo padrão do terminal.
SE = 36
SGR subsequência de separadores que são inseridas entre os campos de linha seleccionados: (), entre os campos de linha contexto, (-), e entre os grupos de linhas adjacentes quando o contexto diferente de zero é especificado (-). O padrão é um primeiro plano de texto ciano sobre o fundo padrão do terminal.
ne
Valor booleano que previne compensação para o fim da linha usando Erase em Linha (EL) para a direita (\ 33 [K) cada vez que um produto colorida termina. Isto é necessário nos terminais em que EL não é suportada. É outra forma útil em terminais para o qual o back_color_erase (AEC) capacidade boolean terminfo não é aplicável, quando as cores de realce escolhidas não ponham em segundo plano, ou quando EL é muito lento ou causar muita oscilação. O padrão é falso (ou seja, a capacidade é omitido).
Note-se que as capacidades boolean não tem = … parte. Eles são omitidos (ou seja, false) por padrão e tornar-se verdadeiro quando especificado. Consulte a seção Select Graphic Rendition (SGR) na documentação do terminal de texto que é usado para valores permitidos e seu significado como atributos de caracteres. Estes valores subcadeia são inteiros em representação decimal e pode ser concatenado com ponto e vírgula. Grep cuida de montar o resultado em uma seqüência SGR completo (\ 33 [… m). Valores comuns para concatenar incluem 1 para negrito, 4 para sublinhado, 5 para piscar, 7 para a inversa, 39 para cor de primeiro plano padrão, 30 a 37 para cores de primeiro plano, 90 a 97 para o 16-cor cores modo de primeiro plano, 38; 5; 0 a 38; 5; 255 para os modos de 88 cores e 256 cores cores de primeiro plano, 49 para a cor de fundo padrão, de 40 a 47 para as cores de fundo, 100 a 107 para 16 cores cores modo de fundo, e 48; 5; 0 a 48 ; 5; 255 para 88 cores e 256 cores cores modos de fundo.
LC_ALL, LANG
Essas variáveis ​​especificam a localidade para a categoria LC_COLLATE, que determina a seqüência de intercalação usada para interpretar expressões alcance como [az].
LC_ALL, LC_CTYPE, LANG
Essas variáveis ​​especificam a localidade para a categoria LC_CTYPE, que determina o tipo de caracteres, por exemplo, que os personagens são espaços em branco.
LC_ALL, LC_MESSAGES, LANG
Essas variáveis ​​especificam a localidade para a categoria LC_MESSAGES, que determina o idioma que o grep utiliza para mensagens. A localidade padrão C utiliza mensagens do inglês americano.
POSIXLY_CORRECT
Se definido, grep se comporta como POSIX.2 requer; caso contrário, grep se comporta mais como outros programas GNU POSIX.2 requer que as opções que se seguem nomes de arquivos devem ser tratados como nomes de arquivo.; por padrão, tais opções são permutados para a frente da lista operando e são tratados como opções. Além disso, POSIX.2 requer que as opções não reconhecidas ser diagnosticada como “ilegal”, mas desde que eles não são realmente contra a lei o padrão é diagnosticá-los como “inválido”. POSIXLY_CORRECT também desabilita _ N _GNU_nonoption_argv_flags_, descrito abaixo.
_ N _GNU_nonoption_argv_flags_
(Aqui N é ‘s grep numérico ID do processo). Se o i th personagem do valor deste variável de ambiente é 1, não consideram o i th operando de grep para ser uma opção, mesmo que pareça ser um. Um shell pode colocar esta variável no ambiente para cada comando é executado, especificando quais operandos são os resultados de expansão de curinga nome do arquivo e, portanto, não devem ser tratados como opções. Este comportamento só está disponível com a biblioteca GNU C, e somente quando POSIXLY_CORRECT não está definido.

O status de saída
Normalmente, o estado de saída é 0 se linhas selecionadas são encontrados e 1 contrário. Mas o estado de saída é 2 se ocorreu um erro, a menos que o q ou a opção –quiet ou –silent é usado e uma linha selecionada é encontrado. Note, no entanto, que POSIX apenas mandatos, para programas como o grep, CMP, e diff, que o estado de saída em caso de erro ser maior do que 1; portanto, é aconselhável, por uma questão de portabilidade, de usar a lógica que testa para esta condição geral em vez de igualdade estrita com 2.
direitos autorais
Copyright 1998-2000, 2002, 2005-2010 Free Software Foundation, Inc.
Este é um software livre; veja o código fonte para condições de cópia. Não há nenhuma garantia; nem mesmo para COMERCIALIZAÇÃO ou ADEQUAÇÃO A UM DETERMINADO FIM.

Erros

relatar bugs
Relatórios de e-mail de erros para < bug-grep@gnu.org >, uma lista de discussão cuja página web é < http://lists.gnu.org/mailman/listinfo/bug-grep >. ‘S grep Savannah bug tracker está localizado na < http://savannah.gnu.org/bugs/?group=grep >.

bugs conhecidos
Uma grande contagem de repetição no {n, m} construção pode causar grep para usar muita memória. Além disso, algumas outras expressões regulares obscuros exigem tempo e espaço exponencial, e pode causar grep para executar com falta de memória. Back-referências são muito lento, e pode requerer tempo exponencial.

Veja também
Regulares Páginas de manual
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).
Página Manual do Programador POSIX
grep (1p).

Documentação TeXinfo
A documentação completa para grep é mantida como um manual TeXinfo. Se os programas de informação e grep estão devidamente instalado no seu site, o comando
Informação grep
deve dar-lhe acesso ao manual completo.
notas
GNU não é Unix, mas Unix é uma besta; sua forma plural é Unixen.

Anúncios