logo

Comando Grep em Linux/Unix com exemplos

O comando 'grep' significa 'impressão de expressão regular global' . O comando grep filtra o conteúdo de um arquivo, o que facilita nossa pesquisa.

É um utilitário de linha de comando para pesquisar grupos de dados de texto simples em busca de linhas que sejam iguais a uma expressão regular. O nome 'pegada' vem do comando, ou seja, ed, que contém o mesmo efeito. Originalmente, grep foi projetado para o sistema operacional Unix, mas tornou-se disponível para todos os sistemas semelhantes ao Unix posteriormente e alguns outros como o OS 9.

O filtro grep encontra um arquivo para um padrão de caractere específico e mostra cada linha que inclui esse padrão. Os caracteres devem estar entre aspas se ocorrerem no parâmetro padrão com um significado especial para o shell. Normalmente, devemos colocar todo o padrão entre aspas se o parâmetro padrão não for uma string comum.

os primeiros mukers

Em uma expressão como [a-z], o sinal de menos (-) cml descreve um intervalo baseado na ordem de agrupamento atual. Uma ordem de agrupamento pode especificar classes equivalentes em intervalos de caracteres para uso. O comando grep assume stdin quando nenhum arquivo é mencionado.

O padrão é chamado de expressão regular encontrada dentro do arquivo. O padrão são expressões regulares restritas no formato do comando egrep ou ed. O comando grep aplica um algoritmo não determinístico sólido. É útil quando precisamos filtrar arquivos de log grandes.

Breve história do grep

Antes de ser intitulado, grep era um utilitário confidencial especificado por Ken Thompson para encontrar arquivos para vários padrões. Desconhecido de sua existência, Doug Mcllroy pediu a Thompson para especificar tal função. Respondendo que da noite para o dia ele pensaria em tal utilidade. Thompson fez melhorias e corrigiu erros por cerca de uma hora em seu programa conhecido como 'é' (ou pesquise). Ele apresentou a função a Mcllroy no dia seguinte, que disse que era igual ao que ele queria. O relato de Thompson pode descrever a crença de que o comando grep foi especificado durante a noite.

Thompson especificou a versão inicial em linguagem assembly PDP-11 para suportar Lee E. McMohan verificar o texto dos Artigos Federalistas para decidir a autoria do artigo individual. O editor de texto ed tinha suporte para expressões regulares, mas não podia ser usado em textos tão grandes; Thompson copiou esse código para uma ferramenta independente. Ele selecionou o nome devido à edição; o comando grep imprimiria cada linha da mesma forma que o padrão descrito. Primeiro, o grep foi adicionado na versão 4 do Unix, dizendo que 'é geralmente citado como a ferramenta de software prototípica' , Mcllroy aprovou o grep com o 'irrevogavelmente enraizado' filosofia de ferramentas de Thompson em Unix.

Implementações do grep

Uma variedade de implementações grep está presente em diversos ambientes de desenvolvimento de software e sistemas operacionais. As primeiras versões incluíam fgrep e egrep, introduzidos na versão 7 do Unix. A versão egrep suporta sintaxe para uma expressão regular estendida incluída por Alfred Aho após a implementação original da expressão regular de Ken Thompson. A versão fgrep encontra qualquer lista de strings fixas com o Algoritmo de correspondência de string Aho-Corasick . Esses binários de versão estão disponíveis em sistemas modernos, conectando-se ao grep ou chamando grep um script de shell usando o sinalizador correto adicionado enquanto geralmente implantado nos sistemas POSIX.

Outros comandos incluem o 'pegada' palavra para representar que estão encontrando ferramentas, geralmente aquelas que dependem de correspondências de expressões regulares. Por exemplo, a utilidade, ou seja, 'pgrep' , mostra os processos cujos títulos são iguais aos da expressão regular fornecida.

  • Grep é o título da função interna que procura os elementos dentro de uma lista que divertem uma determinada propriedade no Perl linguagem de programação.
  • Normalmente, esta função de ordem superior é chamada 'filtro' ou 'onde' em outro idioma.
  • O comando, ou seja, pcregrep , é uma implementação grep que utiliza a sintaxe da expressão regular Perl. A mesma funcionalidade pode ser adicionada à versão grep GNU usando o sinalizador -P.
  • Além disso, portas grep (por exemplo, em GnuWin32 e Cygwin ) executado no Microsoft Windows. Algumas versões do Windows fornecem o mesmo comando findstr ou qgrep.
  • Além disso, o comando grep faz parte das ferramentas MSX-DOS2 de ASCII para a versão 2 do MSX-DOS.
  • Os comandos fgrep, egrep e grep foram enviados para o sistema operacional IBM i.
    O software Adobe InDesign possui funções GREP (desde a edição CS3) na caixa de diálogo alterar/localizar a guia 'GREP' e especificado usando CS4 no 'Estilos GREP' estilos de parágrafo.

Como instalar o grep no Linux?

Grep vem pré-instalado em quase todas as distribuições do Linux. Porém, por precaução, podemos instalá-lo com o comando abaixo na janela do terminal caso esteja faltando em nosso sistema:

 $ sudo apt-get install grep 

grep com tubo

chave exclusiva do mysql

O comando 'grep' geralmente é usado com pipe (|) .

Sintaxe:

 command | grep 

Exemplo:

 cat marks.txt | grep 9 

Filtros Grep do Linux1

Veja o instantâneo acima, o comando grep filtra todos os dados que contêm '9'.

grep sem tubo

Também pode ser usado sem tubo.

Sintaxe:

 grep 

Exemplo:

 grep 9 marks.txt 

Filtros Grep do Linux2

Veja o instantâneo acima, o comando grep faz o mesmo trabalho do exemplo anterior, mas sem pipe.

opções grep

    grep -vM: O comando 'grep -v' exibe linhas que não correspondem à palavra especificada.

    Sintaxe:

     grep -v 

    Exemplo:

     grep -v 9 marks.txt 

    Filtros Grep do Linux3

    Veja o instantâneo acima, comando 'grep -v 9 marcas.txt' exibe linhas que não contêm nossa palavra de pesquisa '9'.

    grep -eu: O comando 'grep -i' filtra a saída sem diferenciar maiúsculas de minúsculas.

    Sintaxe:

     grep -i 

    Exemplo:

     grep -i red exm.txt 

    Filtros Grep do Linux4

    Veja o instantâneo acima, comando 'grep -i vermelho exm.txt' exibe todas as linhas contendo 'vermelho', seja em maiúsculas ou minúsculas.

    grep -A/ grep -B/ grep -C

    O comando grep -A é usado para exibir o linha após o resultado .

    O comando grep -B é usado para exibir o linha antes do resultado .

    O comando grep -C é usado para exibir o linha depois e linha antes o resultado.

    Você pode usar (A1, A2, A3.....)(B1, B2, B3....)(C1, C2, C3....) para exibir qualquer número de linhas.

    Sintaxe:

    diagrama do modelo e-r
     grep -A grep -B grep -C 

    Exemplo:

     grep -A1 yellow exm.txt grep -B1 yellow exm.txt grep -C1 yellow exm.txt 

    Filtros Grep do Linux5

    Veja o instantâneo acima, comando 'grep -A1 amarelo exm.txt' exibe a linha pesquisada com a próxima linha seguinte, comando 'grep -B1 amarelo exm.txt' exibe a linha pesquisada com uma linha anterior e comando 'grep -C1 amarelo exm.txt' exibe a linha pesquisada com uma linha anterior e uma linha seguinte.