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

Publicado por Xerxes em 11/06/2015

[ Hits: 26.415 ]

 


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

Teclas de função no Xfce para comandar o volume

Compiz no Linux Mint 12 - modo clássico

Linux Mint 17 (pós-instalação)

NetworkManager + nm-applet no Void Linux

Abrir apps automaticamente em áreas de trabalho ao iniciar o i3wm

Leitura recomendada

Scaneando IP's, retornando NetBIOS ou endereços MAC.

Os run levels (Níveis de Execução)

Monitorando tráfego da interface de rede em três comandos

Atalhos Touchpad no KDE (Slackware)

Instalando pacotes com dependências (rpm)

  

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