Find - Pesquisar trechos (strings) dentro de arquivos

Publicado por Darlan da Silva Encarnação em 13/07/2012

[ Hits: 67.413 ]

 


Find - Pesquisar trechos (strings) dentro de arquivos



Olá a todos,

Sempre tive a necessidade de encontrar arquivos em meu sistema, porém, a única associação que tinha desse arquivo era um parâmetro, ou trecho, que estava dentro do arquivo e com o comando find, apenas encontrava se soubesse o nome do arquivo.

Bom, esse problema foi resolvido e gostaria de compartilhar com vocês:

find ./* -type f -exec grep -l STRING {} \;

Altere "STRING" com o trecho que gostaria de procurar.

É isso aí. (:

Outras dicas deste autor

Atalhos no teclado para o console

SSH - Hardening no arquivo .conf

Nessus - Vulnerability Scan

Algo mudou no seu sistema? O AIDE te fala!

Chromium e VLC no BackTrack como root

Leitura recomendada

Correção automática de comandos no bash

Abrindo aplicativos gráficos como usuário root logado como usuário comum sem kdesudo ou gksudo

Alterando endereço MAC da interface de rede

Usando o RPM (Red Hat Packet Manager)

Alias definitivo

  

Comentários
[1] Comentário enviado por eldermarco em 13/07/2012 - 10:39h

Você também pode utilizar a opção -R, -r ou ainda --recursive do comando grep. Isso faz com que ele entre em cada diretório e procure pelos arquivos que contenham STRING lá também:

$ grep -lr STRING *

[2] Comentário enviado por darlan.ti em 13/07/2012 - 12:14h

Muito bom, mais simples para ser lebrado posteriormente. Vlw a dica (:

[3] Comentário enviado por cesarazevedo em 12/01/2017 - 23:35h

Montei o script abaixo para buscar palavras-chaves(kw) em nomes de arquivos, diretórios e dentro de arquivos a partir de um diretório(dir) e seus subdiretórios, lista todos exceto arquivos ocultos.

Exemplo 1
Buscar a palavra "cesar" em nomes de arquivos, diretório e dentro de arquivos, a partir do diretório "/home":
dir="/home"; kw="cesar"; find $dir -name $kw*; grep -iR $kw $dir | grep -v "\/\./*";

Exemplo 2
Buscar a palavra "cesar" em nomes de arquivos, diretório e dentro de arquivos, a partir do diretório atual
dir=""; kw="cesar"; find $dir -name $kw*; grep -iR $kw $dir | grep -v "\/\./*";

Testado no Ubuntu Server



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts