Comando Grep no Linux (pesquisa de texto em arquivos)
- 3781
- 269
- Spencer Emard
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.