Comando Grep no Linux (pesquisa de texto em arquivos)

Comando Grep no Linux (pesquisa de texto em arquivos)

Grep é uma ferramenta poderosa para pesquisar um texto, grep significa “impressão regular de expressão regular”. Basicamente, Grep pesquisa um arquivo de texto para a expressão regular especificada e produz qualquer linha que contenha uma correspondência com saída padrão. Portanto, o comando grep pode ser usado para pesquisar algum tipo de texto, palavra, padrão ou frase em um arquivo de texto ou em vários arquivos de texto.

  • Leia sugerida: 12 exemplos impressionantes de comando do Linux Find

Neste tutorial, mostraremos como usar o comando Grep com alguns exemplos práticos.

Pré -requisitos

  • Um sistema executando o sistema operacional Linux.
  • Acesso a uma linha de terminal/comando.

Para pesquisar uma string específica em um arquivo

  • Para procurar uma string tecadmin no arquivo de arquivo1.txt, execute o seguinte comando:
    Grep Tecadmin File1.TXT 

    Este comando imprimirá todas as linhas que contêm uma palavra tecadmin:

    Tecadmin é um blog popular de Linux I Love Tecadmin TecadminLinux 

  • Para procurar uma string exata Tecadmin no arquivo de arquivo1.txt, execute o seguinte comando:
    Grep -W Tecadmin File1.TXT 

    Este comando imprimirá todas as linhas que contêm uma palavra inteira tecadmin:

    Tecadmin é um blog Linux popular que eu amo Tecadmin 

  • Para procurar um caso de string tecadmin insensivelmente no arquivo de arquivo1.txt, execute o seguinte comando:
    Grep -i Tecadmin File1.TXT 

    Este comando imprimirá todas as linhas que contêm uma palavra Tecadmin Case insensivelmente:

    Tecadmin é um blog popular de Linux I Love Tecadmin TecadminLinux Tecadmin é o meu blog favorito Este é o site da Tecadmin 

Para pesquisar uma string específica em vários arquivos

  • Para procurar um String Linux no arquivo de arquivo1.txt e file2.txt, execute o seguinte comando:
    Grep -i Linux File1.txt file2.TXT 

    Este comando imprimirá todas as linhas que contêm um Word Linux no arquivo1.txt e file2.TXT:

    arquivo1.TXT: Tecadmin é um popular blog Linux File1.txt: tecadminlinux file2.TXT: Linux é um sistema operacional de código aberto. File2.TXT: Linux é feito por Linus Torvalds. File2.TXT: Linux é o sistema operacional mais popular. 

  • Para procurar um String Linux em todos os arquivos no diretório atual e nos subdiretos, execute o seguinte comando:
    grep -r linux * 

    Este comando imprimirá todas as linhas que contêm um linux do Word em todos os arquivos no diretório atual e nos subdiretos:

    arquivo1.TXT: Tecadmin é um popular blog Linux File1.txt: tecadminlinux file2.TXT: Linux é feito por Linus Torvalds. File2.TXT: Linux é o sistema operacional mais popular. arquivo3.txt: linux vs windows file3.txt: ubuntu é um sistema operacional Linux 

Pesquisa inversa de grep

Você pode usar o comando grep com -v opção para imprimir todas as linhas que não correspondem a um padrão específico de caracteres.

Por exemplo, imprima todas as linhas que não contêm a string linux no arquivo1.txt e file2.txt, execute o seguinte comando:

Grep -v Linux File1.txt file2.TXT 

Este comando excluirá todas as linhas que contêm o String Linux:

arquivo1.txt: eu amo o tecadmin file1.txt: Tecadmin é o meu blog favorito1.txt: este é o site do tecadmin file2.TXT: Linux é um sistema operacional de código aberto. 

Para listar nomes de arquivos que correspondem ao padrão específico

Você pode exibir apenas nomes de arquivos que contêm uma string específica usando -l opção.

Por exemplo, liste todos os nomes de arquivos no diretório atual que corresponde à string Tecadmin, execute o seguinte comando:

Grep -l Tecadmin * 

Você deve ver a seguinte saída:

arquivo1.TXT 

Exibir o número de correspondências

Você pode usar a opção Grep com -c para exibir todos os arquivos com o número de linhas que correspondem à string fornecida.

Por exemplo, para exibir todos os arquivos com o número de linhas que correspondem a um String Linux no diretório atual, execute o seguinte comando:

Grep -c Linux * 

Você deve ver a seguinte saída:

arquivo1.txt: 2 file2.txt: 2 file3.txt: 2 

Número da linha de exibição com padrão de correspondência

Você pode usar a opção Grep com -n para imprimir números de linha com padrões correspondentes.

Por exemplo, para exibir o número da linha que corresponde ao padrão Linux no diretório atual, execute o seguinte comando:

grep -n linux * 

Você deve ver a seguinte saída:

arquivo1.TXT: 1: Tecadmin é um arquivo de blog Linux popular1.TXT: 3: TecadminLlinux File2.txt: 2: Linux é feito por Linus Torvalds. File2.TXT: 3: Linux é o sistema operacional mais popular. arquivo3.txt: 1: linux vs windows file3.txt: 2: Ubuntu é um sistema operacional Linux 

Você também pode exibir uma linha antes e depois da string correspondente usando a opção C e N com o comando grep.

Por exemplo, exiba uma linha antes e depois da correspondência String Linux no arquivo4.txt, execute o seguinte comando:

Grep -n -c 1 linux arquivo4.TXT 

Você deve ver a seguinte saída:

1-hi, eu sou Tecadmin User 2: Sou Linux Operating System 3-i am Windows Sistema Operacional 

Exibir apenas padrão de correspondência

Por padrão, o comando Grep imprime toda a linha que corresponde a um padrão.

Você pode imprimir apenas padrões correspondentes usando a opção -o.

Por exemplo, procure por arquivo1.txt que corresponde à string/padrão linux com o seguinte comando:

Grep -o linux file1.TXT 

Você deve ver a seguinte saída:

Linux Linux 

Conclusão

No tutorial acima, você aprendeu a usar o comando Grep para procurar uma string específica em arquivos. Espero que você tenha agora conhecimento suficiente do comando grep e como ele é usado em várias condições.