como encontrar um arquivo através de um pedaço do texto? [RESOLVIDO]

1. como encontrar um arquivo através de um pedaço do texto? [RESOLVIDO]

andre luiz
xiloba

(usa Slackware)

Enviado em 12/05/2011 - 21:20h

Gostaria de saber se há, no linux, como fazer para achar um arquivo que esteja no pen drive, por exemplo, apenas sabendo um pedaço do texto que há naquele arquivo.
Por exemplo: como achar uma prova que está digitada numa planilha de texto, sabendo apenas um pedaço de um texto naquele arquivo? (sem saber o nome do arquivo)

Eu sei que existem possibilidades no modo texto, tipo:
Localizar arquivo contendo texto especificado no Linux
Certa vez, após instalar o GLPI (sistema de helpdesk), houve a necessidade de customizá-lo para ficar de acordo com as necessidades da empresa. O grande problema era saber em qual arquivo encontrar o conteúdo que deveria ser alterado.

Segue abaixo um exemplo de como efetuar a busca:

$ grep -R manaus /home/smith/ 2>/dev/null | cut -d: -f2 | uniq

Vamos dissecar o comando:

grep -R manaus /home/smith/ - procura recursivamente pela palavra "manaus" em todos arquivos a partir do diretório /home/smith;
2>/dev/null - direciona as linhas de erro para /dev/null;
| (pipe) - redireciona a saída do comando anterior (grep -R manaus /home/smith/ 2>/dev/null), para a entrada do próximo comando;
cut -d: -f2 - o grep gera um arquivo no seguinte formato:

/path/arquivo:conteúdo da linha

Como queremos saber apenas qual arquivo contém a palavra "manaus", utilizaremos o comando cut para tratar a saída. O cut lê a saída do comando anterior e seleciona apenas o segundo campo (-f2), separado pelo delimitar (-d) "dois pontos" (":"), ignorando tudo que estiver depois do delimitador.
uniq - caso haja mais de uma ocorrência da palavra "manaus" em um mesmo arquivo, será exibida uma linha para cada ocorrência. O uniq remove as linhas duplicadas.

achei aqui mesmo no VOL :)

ou esta outra dica:

Para achar um arquivo que contenha um determinado texto eu uso o comando

find [diretório] -name "*" |xargs grep -s "textoprocurado"

O comando acima me retorna o nome do arquivo, mais a linha inteira de texto em
que se encontra o "textoprocurado".

Tem algum truque para que apareça só o nome do arquivo*?

Os mans do find e do grep não lançam muita luz sobre isso.

[]s

*Motivo: o texto lota terminal e polui a saída do comando.
---------------------------------------


Como fazer isto pelo gnome(interface gráfica)?


  


2. Re: como encontrar um arquivo através de um pedaço do texto? [RESOLVIDO]

Fábio C Premoli
premoli

(usa Fedora)

Enviado em 12/05/2011 - 21:56h

Após realizar uma busca no Nautilus, no resultado da pesquisa tem um botazinho de + para personalizar a busca, tem tipos de arquivos - outros, exibe uma lista com inumeras opções dependendo do caso ... mas creio que ainda não foi implementado interface gráfica para tal situação.


3. Re: como encontrar um arquivo através de um pedaço do texto? [RESOLVIDO]

andre luiz
xiloba

(usa Slackware)

Enviado em 13/05/2011 - 14:06h

valeu, Premoli.
É na opção 'ir' >localizar arquivo.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts