Qual é a melhor maneira de pesquisar o meu sistema de arquivos no Ubuntu com resultados instantâneos?

6

Qual é a melhor maneira de pesquisar o meu sistema de arquivos no Ubuntu e obter resultados quase que instantaneamente? Eu usei catfish , tracker e a ferramenta de pesquisa usual fornecida com o Ubuntu.

Tracker não encontra nada, ferramenta de pesquisa do Ubuntu é muito lenta e catfish na maioria das vezes não encontra nada. Eu tenho muitos PDFs e arquivos DJVU que eu quero acessar. No Windows, existe um programa chamado procura tudo que retorna resultados quase instantaneamente. Eu quero uma ferramenta similar ao Linux.

Por favor, forneça uma resposta detalhada possível, pois sou um novato no linux. Se tal ferramenta não existe no Ubuntu, qual é a chance de eu encontrar essa ferramenta em outra distribuição de Linux, por exemplo, mandriva, redhat?

    
por Nabil 28.09.2012 / 19:36

7 respostas

8

Recoll pode fazer isso por você. Ele possui indexação de texto completo para quase todos os tipos de documentos que você pode imaginar e uma visão geral de resultados classificada por números de página para documentos PDF.

Você pode instalá-lo através do centro de software (pesquise Recoll ) ou obter a nova versão mais recente através do Recoll PPA (incluindo uma lente / escopo Unity). Primeiro adicione o repositório oficial do Recoll:

sudo add-apt-repository ppa:recoll-backports/recoll-1.15-on
sudo apt-get update

Se você está no Ubuntu 13.04 e abaixo, você terá que instalar o recoll-lens :

sudo apt-get install recoll recoll-lens

Para o Ubuntu 13.10 e use unity-scope-recoll :

sudo apt-get install unity-scope-recoll

Se esta é a primeira vez que você está instalando a partir de um PPA, leia primeiro:

O que são os PPAs e como usá-los?

PPA é seguro para adicionar ao meu sistema e quais são algumas" bandeiras vermelhas "para ter cuidado?

Você terá que executar o Recoll pelo menos uma vez para criar seu índice de pesquisa antes de poder usar a lente / alcance do Recoll.

Mais extensa documentação sobre como usar o Recoll pode ser encontrada aqui .

    
por Glutanimate 28.09.2012 / 19:54
4

Para pesquisar somente nomes de arquivos - ignorando o conteúdo -
você pode usar a ferramenta locate . É muito rápido em pesquisar.

locate '*.pdf'

listará todo o arquivo pdf. Veja a página de manual para mais informações.

$ locate --help
Usage: locate [OPTION]... [PATTERN]...

Search for entries in a mlocate database.

  -b, --basename         match only the base name of path names
  -c, --count            only print number of found entries
  -d, --database DBPATH  use DBPATH instead of default database (which is
                         /var/lib/mlocate/mlocate.db)
  -e, --existing         only print entries for currently existing files
  -L, --follow           follow trailing symbolic links when checking file
                         existence (default)
  -h, --help             print this help
  -i, --ignore-case      ignore case distinctions when matching patterns
  -l, --limit, -n LIMIT  limit output (or counting) to LIMIT entries
  -m, --mmap             ignored, for backward compatibility
  -P, --nofollow, -H     don't follow trailing symbolic links when checking file
                         existence
  -0, --null             separate entries with NUL on output
  -S, --statistics       don't search for entries, print statistics about each
                         used database
  -q, --quiet            report no error messages about reading databases
  -r, --regexp REGEXP    search for basic regexp REGEXP instead of patterns
      --regex            patterns are extended regexps
  -s, --stdio            ignored, for backward compatibility
  -V, --version          print version information
  -w, --wholename        match whole path name (default)
    
por Anwar 28.09.2012 / 21:13
1

Eu também faço muita pesquisa em bibliotecas muito grandes de PDFs. Para mim, esta é a frustração # 1 do Linux que me faz sentir falta do MS Windows. Eu tentei tudo neste momento, e a solução que resolvi agora é usar os seguintes programas em combinação.

Infelizmente, nenhum desses parece estar nos repositórios do Ubuntu no momento e pode ser instável. Então, se Recoll (agora no repositório padrão para o Ubuntu 14.04 eu acredito?) Ou algo mais funciona para você, é melhor ficar com isso.

1) Sinapse

Instalação: Leia este post para detalhes, mas basicamente você pode instalá-lo por executando os seguintes comandos em um terminal.

sudo apt-add-repository ppa:synapse-core/testing
sudo apt-get update
sudo apt-get install synapse

Positivo

  • Resultados de pesquisa muito rápidos e inteligentes
  • Se o que você quer não aparecer imediatamente, você pode pressionar e aba para encontrar mais com "localizar".

Negativo

  • Apenas pesquisa nomes de arquivos, não texto dentro.
  • Parece que falta muito, especialmente antes de tentar "localizar".

2) Launchy

Instalação: Faça o download do pacote aqui .

Positivo:

  • Quase tão rápido quanto o Synapse
  • Os resultados são muito abrangentes.

Negativo:

  • Também apenas pesquisa nomes de arquivos.
  • Provavelmente o mais problemático desses três.

3) DocFetcher

Instalação: A menos que você possa encontrá-lo em algum repositório, você está preso à versão portátil. Faça o download aqui e siga as instruções.

Positivo:

  • Pesquisas dentro do texto dos seus PDFs
  • Resultados abrangentes, mas relevantes, em uma ordem lógica (geralmente, os resultados em Recoll ou Tracker são completamente malucos em comparação)
  • Painel de visualização completo do documento para que você possa ver mais do arquivo antes de abri-lo (não apenas algumas linhas)
  • Razoavelmente rápido

Negativo:

  • Difícil de instalar e executar nativamente no Ubuntu (por exemplo, sem tempo de execução Java)
  • Muito mais lento do que os aplicativos que pesquisam apenas nomes de arquivos

Espero que o Dash se atualize e torne tudo isso obsoleto, mas enquanto isso, esses três são basicamente o que estou usando.

Outras opções talvez valham a pena tentar:

  • O Gnome-Do pode ser uma alternativa valiosa para o Synapse, mas por último verifiquei que ele só pode indexar 5000 arquivos, e isso não é o suficiente para mim
  • pdfgrep às vezes é útil, mas é lento e não tem uma interface gráfica que conheça
por Brian Z 29.07.2014 / 01:25
0

você também pode usar o gnome-search-tool. você pode obtê-lo por sudo apt-get install gnome-search-tool

    
por Ten-Coin 28.09.2012 / 20:06
0

O seguinte código Python retornará os resultados da pesquisa rapidamente. Basta alterar o segundo parâmetro em fnmatch.fnmatch(file,'*.txt) para o que você está procurando. É incrivelmente rápido.

import fnmatch
import os

for file in os.listdir('.'):
    if fnmatch.fnmatch(file, '*.txt'):
        print file
    
por noel 28.09.2012 / 21:23
0

Outra opção é a sinapse.
Integra os resultados do Zeitgeist.
Eu tenho muitos documentos no meu sistema, e fiquei surpreso com a rapidez com que o Synapse conseguiu encontrar os arquivos que eu precisava.

sudo apt-get instala sinapse

felicidades

    
por DrewG 20.10.2012 / 02:49
0

Para uma opção de linha de comando, "silver searcher" é, na minha opinião, simplesmente o melhor. Muito mais rápido que find e awk e tem uso mais simples:

ag <path>

Instale a partir do Ubuntu 14.04

sudo apt-get install silversearcher-ag

Veja algumas comparações de velocidade em relação a find e awk

link

    
por Diego Andrés Díaz Espinoza 04.04.2016 / 19:52