Pesquisando arquivos pelo seu conteúdo em modo texto

Publicado por Anderson de Assis de Souza em 04/09/2006

[ Hits: 72.438 ]

 


Pesquisando arquivos pelo seu conteúdo em modo texto



Esta é uma dica bem simples, mas como eu tive um certo trabalho para descobrir, resolvi compartilhar com a comunidade.

Às vezes é necessário pesquisar um arquivo pelo conteúdo e talvez o computador que você esteja usando só tenha o Linux em modo texto, normalmente servidores.

Nesse caso é necessário combinar alguns comandos do Linux, utilizando seu incrível potencial. O resultado é este:

# find / | xargs grep -s -a -i palavra_chave | cut -d : -f 1 | uniq

Desta forma serão mostrados todos os arquivos do computador que contenham esta palavra_chave. Note que você pode mudar o diretório de pesquisa no início do comando "find /". Você pode modificar por exemplo para "find /home/seu_usuário".

No entanto existe um problema neste comando, se você tiver algum arquivo que contenha no meio do seu nome o caracter ":" , só irá mostrar a primeira parte do arquivo.

Neste caso, que pode dar problemas, resuma o comando um pouco, mas a tela será preenchida com informações em excesso. Veja o comando abaixo:

# find / | xargs grep -s -a -i palavra_chave | uniq

Se você quiser saber quantas vezes a palavra chave aparece, retire o comando "|uniq", será mostrado cada arquivo o mesmo número de vezes que encontrar a palavra_chave no arquivo.

Esta dica é simples, mas também é bastante útil.

Outras dicas deste autor

Corrigindo o erro: C compiler cannot create executables

Instalando o pacote ZEOS Access no Lazarus 0.9.24

Firebird - Backup de banco de dados

Problema: programa não roda fora do Kylix

Criando log de erro para seus programas Kylix

Leitura recomendada

Instalar pacotes RPM no Ubuntu

Comando CLS do Windows no Linux

Criando Atalhos para Diretórios Ocultos no Linux

Vídeo do LinuxTips: Permissões e ACL

Forçar montagem de partição NTFS Windows

  

Comentários
[1] Comentário enviado por pedemesa em 04/09/2006 - 16:03h

Muito boa dica!

[2] Comentário enviado por buenopeixe em 17/08/2009 - 14:06h

E aí fera... como disse... dica simples porém bastante útil!

Excelente dica!

Grande abraço!

[3] Comentário enviado por joaomichelazzo em 21/08/2009 - 11:10h

O que pode ser feito para otimizar o resultado da busca é criar um Shell para executar a busca.

Criei um arquivo "busca" por exemplo

no final da string acrescente "> x" onde "x" é o nome do arquivo com o resultado da busca

ind / | xargs grep -s -a -i palavra_chave | cut -d : -f 1 | uniq > x

no prompt execute o shell

# sh busca
ou
# ./busca

O resultado da busca será salvo no arquivo "x" que você adicionou ao final da string

[4] Comentário enviado por yourganow_007 em 05/11/2009 - 13:13h

ok, boa dica! mais como fazer isso em modo gráfico?

[5] Comentário enviado por ers.darksider em 14/05/2010 - 21:12h

excelente dica...

Gostaria de saber se funciona (ou como funcionaria) para buscar uma expressão dentro de um arquivo .doc.

É possível?

Valeu!

[6] Comentário enviado por Denilson-Pereira em 18/02/2017 - 19:00h

Ficou muito legal, eu só adicionaria o 2>/dev/null para limpar as mensagens de erro da tela.

Ficaria assim no comando 1:

# find / 2>/dev/null | xargs grep -s -a -i palavra_chave | cut -d : -f 1 | uniq

E assim no comando 2:

# find / 2>/dev/null | xargs grep -s -a -i palavra_chave | uniq



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts