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

Publicado por Xerxes em 11/06/2015

[ Hits: 26.198 ]

 


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

Acesso remoto a seu GNU/Linux via linha de comando

Tocando rádios no Iceweasel

Touchpad no Slackware 14.1 - Configure botões e scroll

Samsung Kies Air no GNU/Linux

Como usar o Wine

Leitura recomendada

Renomear vários arquivos ao mesmo tempo

Mais opções do comando cat

Declarando "netbios name" no Samba

Executando shutdown agendado para desligar seu micro

Renomeando arquivos simultaneamente com apenas uma linha de comando

  

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