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
Leitura recomendada
Arrumar o relógio
Tempo que o processo está aberto (uptime)
Super usuário no modo gráfico
Como saber o número serial do HD
Baixando arquivos utilizando o wget
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!
Viva o Linux
A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.
|