Índice de texto completo local para uma árvore de diretórios, uma alternativa mais rápida para grep -R

4

Eu tenho uma grande árvore de diretórios de arquivos de origem. Eu quero procurar em torno de todos esses arquivos. Meu primeiro instinto é usar grep -R ou ack , mas de qualquer forma eles apenas sequencialmente leem todos os arquivos.

Existe algum programa leve que eu possa instalar para escanear todos os arquivos uma vez, construir e indexar, e depois, em qualquer data posterior, eu posso procurar por certas palavras? Isso deve ser mais rápido do que apenas fazer um monte de grep . Os arquivos que eu quero pesquisar não estarão mudando, então não preciso de algo que indexe arquivos automaticamente.

Eu não estou procurando por algo que escaneie todos os arquivos no meu disco rígido, e eu quero algo localmente que seja fácil de instalar e configurar em uma máquina desktop local, para uma busca simples e quase descartável.

Pontos de bônus se o software nos repositórios normais do Ubuntu.

O ideal é que eu queira algo tão fácil de usar como este:

sudo aptitude install supersearch
cd /path/to/where/I/wanna/search
supersearch --make-index 
supersearch "foo bar"
    
por Rory 21.08.2009 / 17:00

2 respostas

4

Parece que você quer Beagle . Seu principal objetivo é como uma pesquisa abrangente de área de trabalho, mas você pode dizer que basta olhar para a árvore de origem que deseja indexar.

    
por 21.08.2009 / 17:11
4

Eu acredito que o Tracker esteja instalado por padrão no Ubuntu. Do man trackerd e man tracker-search para mais informações.

Na página trackerd man:

By default, trackerd will index all files in a user’s home directory
(with the exception of hidden files). This can be overridden by speci‐
fying one or more directories to be indexed instead in the configura‐
tion file ($HOME/.config/tracker/tracker.cfg) and/or by using the
--include-dir option to specify other directories to be indexed.

    
por 21.08.2009 / 17:48