Buscando palavras (strings) em arquivos dentro de diretório recursivamente

Publicado por Xerxes em 11/06/2015

[ Hits: 25.708 ]

 


Buscando palavras (strings) em arquivos dentro de diretório recursivamente



Para buscar por uma palavra, ou mais de uma, dentro de vários arquivos em um diretório, podemos usar o comando Global Regular Expression Print, ou apenas grep.

O uso básico do comando grep é o seguinte:

grep palavra arquivo

Significa: busque a palavra dentro do arquivo.

Para procurar em vários arquivos:

grep palavra arquivo1 arquivo2 arquivo3

Também funciona para filtrar a saída de conteúdos. Exemplo:

cat arquivo | grep palavra

O comando cat (de catenate, ou concatenação) exibe o conteúdo do arquivo, mas o grep irá filtrar o conteúdo e mostrará apenas a linha que contiver a palavra.

O parâmetro "-i" indica que a busca do grep irá ignorar o fato da palavra ter letras maiúsculas ou minúsculas.

O parâmetro "-R" indica que a busca será recursiva em todos os diretórios.

O parâmetro "-l" lista os nomes dos arquivos que casam com o padrão.

Sendo assim, para encontrar os arquivos que contém determinadas palavras, basta usar:

grep -iRl "palavra1 palavra2 palavra3" /diretório

Para mais informações:

grep --help
$ man grep


Outras dicas deste autor

Obter última versão do Firefox no Funtoo stable

Configurando botão direito do touchpad no CrunchBang

Ubuntu Gnome 3 Remix

Deixando o DNF mais veloz no Fedora

Instalando Brisk Menu no Fedora 34 Mate Desktop

Leitura recomendada

O guia do preguiçoso - comando eject

Comandos para agilizar o uso do terminal

Os poderes do ".bash_history"

Extraindo Arquivos de Pacote de Tema do Windows (themepack) no Linux

Comandos de rede Linux (básico)

  

Comentários
[1] Comentário enviado por lcavalheiro em 11/06/2015 - 22:12h

Boa dica, Xerxes!

Mas o que houve com o bom e velho
$ find diretorio -print0 | xargs -0 grep string

Zoeira, fazer isso com o grep é genial também. Mais uma vez, parabéns!

--
Luís Fernando Carvalho Cavalheiro
Public GPG signature: 0x246A590B
Só Slackware é GNU/Linux e Patrick Volkerding é o seu Profeta

[2] Comentário enviado por xerxeslins em 11/06/2015 - 22:20h


[1] Comentário enviado por lcavalheiro em 11/06/2015 - 22:12h

Boa dica, Xerxes!

Mas o que houve com o bom e velho
$ find diretorio -print0 | xargs -0 grep string

Zoeira, fazer isso com o grep é genial também. Mais uma vez, parabéns!

--
Luís Fernando Carvalho Cavalheiro
Public GPG signature: 0x246A590B
Só Slackware é GNU/Linux e Patrick Volkerding é o seu Profeta


kkkkkkk

essa eu nao sabia!


[3] Comentário enviado por thyagobrasileiro em 16/06/2015 - 10:42h


[1] Comentário enviado por lcavalheiro em 11/06/2015 - 22:12h

Boa dica, Xerxes!

Mas o que houve com o bom e velho
$ find diretorio -print0 | xargs -0 grep string

Zoeira, fazer isso com o grep é genial também. Mais uma vez, parabéns!

--
Luís Fernando Carvalho Cavalheiro
Public GPG signature: 0x246A590B
Só Slackware é GNU/Linux e Patrick Volkerding é o seu Profeta


kkkkkk, ei menino, explica ai o que esse comando faz



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts