web-dev-qa-db-fra.com

Quelle est la meilleure façon de rechercher mon système de fichiers sur Ubuntu avec des résultats instantanés?

Quel est le meilleur moyen de rechercher mon système de fichiers sur Ubuntu et d'obtenir des résultats presque instantanément? J'ai utilisé poisson-chat, traqueur et l'outil de recherche habituel fourni avec Ubuntu.

Tracker ne trouve rien, outil de recherche d'ubunt est trop lent et poisson-chat la plupart du temps ne trouve rien. J'ai beaucoup de fichiers PDF et DJVU auxquels je veux accéder. Dans Windows, il existe un programme appelé tout rechercher qui renvoie les résultats presque instantanément. Je veux un outil Linux similaire.

Veuillez fournir une réponse détaillée autant que possible car je suis un débutant sous Linux. Si un tel outil n'existe pas dans Ubuntu, quelle est la chance que je puisse le trouver dans une autre distribution Linux, par exemple mandriva, redhat?

7
Nabil

Recoll peut le faire pour vous. Il comporte une indexation de texte intégral pour presque tous les types de documents imaginables et une vue d'ensemble des résultats triée par numéro de page pour les documents PDF.

enter image description here

enter image description here

Vous pouvez l'installer via le centre logiciel (recherchez Recoll ) ou la nouvelle version via le PPA de Recoll (y compris un objectif/champ d'application Unity). Premièrement, ajoutez le dépôt officiel de Recoll:

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

Si vous êtes sur Ubuntu 13.04 et inférieur, vous devrez installer recoll-lens:

Sudo apt-get install recoll recoll-lens

Pour Ubuntu 13.10 et supérieur, utilisez plutôt unity-scope-recoll:

Sudo apt-get install unity-scope-recoll

Si c'est la première fois que vous installez à partir d'un PPA, lisez d'abord ces informations:

Que sont les PPA et comment les utiliser?

Les PPA sont-ils sûrs d'ajouter à mon système et quels sont les "drapeaux rouges" à surveiller?

Vous devrez exécuter Recoll au moins une fois pour construire votre index de recherche avant de pouvoir utiliser l’objectif/champ Recoll.

Une documentation plus complète sur la façon d'utiliser Recoll peut être trouvée ici .

9
Glutanimate

Pour rechercher uniquement les noms de fichiers - en ignorant le contenu -
vous pouvez utiliser l'outil locate. Il est très rapide sur la recherche.

locate '*.pdf'

listera tout le fichier pdf. Voir la page de manuel pour plus d'informations.

$ 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)
4
Anwar

Je fais aussi beaucoup de recherches dans de très grandes bibliothèques de fichiers PDF. Pour moi, c’est la frustration n ° 1 de Linux qui me fait rater MS Windows. J'ai tout essayé à ce stade-ci et la solution sur laquelle j'ai décidé de procéder consiste à utiliser les programmes suivants en combinaison.

Malheureusement, aucun de ceux-ci ne semble être dans les dépôts Ubuntu pour le moment, et peut être instable. Donc, si Recoll (maintenant dans le référentiel par défaut pour Ubuntu 14.04, je crois?) Ou quelque chose d'autre fonctionne pour vous, il vaut mieux rester avec cela.

1) Synapse

Installation: lisez cet article pour plus de détails, mais vous pouvez l’installer en exécutant les commandes suivantes dans un terminal.

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

Positif

  • Des résultats de recherche très rapides et intelligents
  • Si ce que vous voulez ne vient pas tout de suite, vous pouvez appuyer sur la touche et cliquer pour en savoir plus avec "localiser".

Négatif

  • Ne cherche que les noms de fichiers, pas le texte à l'intérieur.
  • Semble manquer beaucoup, surtout avant d'essayer de "localiser".

2) Launchy

Installation: Téléchargez le package ici .

Positif:

  • Presque aussi vite que Synapse
  • Les résultats sont très complets.

Négatif:

  • En outre, recherche uniquement les noms de fichiers.
  • Probablement le buggy de ces trois.

3) DocFetcher

Installation: à moins que vous ne le trouviez quelque part dans un référentiel, vous êtes bloqué avec la version portable. Téléchargez-le ici et suivez les instructions.

Positif:

  • Recherches dans le texte de vos PDF
  • Résultats complets mais pertinents, dans un ordre logique (je trouve généralement que les résultats dans Recoll ou Tracker sont complètement fous en comparaison)
  • Volet d'aperçu complet du document pour que vous puissiez voir davantage de fichiers avant de les ouvrir (pas seulement quelques lignes)
  • Assez rapide

Négatif:

  • Difficile à installer et à exécuter en mode natif sous Ubuntu (par exemple, sans Java runtime)
  • Beaucoup plus lent que les applications qui ne recherchent que les noms de fichiers

Espérons que Dash rattrapera le retard et rendra tout cela obsolète, mais en attendant, ces trois sont principalement ce que j'utilise.

D’autres options valent peut-être la peine d’être essayées:

  • Gnome-Do pourrait être une alternative valable à Synapse, mais la dernière fois que j'ai vérifié, il ne peut indexer que 5000 fichiers, ce qui ne me suffit pas
  • pdfgrep est parfois utile mais lent et ne possède aucune interface graphique à ma connaissance
1
Brian Z

Une autre option est Synapse.
Intègre les résultats Zeitgeist.
J'ai beaucoup de documents sur mon système et j'ai été surpris de la rapidité avec laquelle Synapse a été capable de trouver les fichiers dont j'ai besoin.

Sudo apt-get install synapse

à votre santé

0
DrewG

Pour une option en ligne de commande, "chercheur d'argent" est à mon avis tout simplement le meilleur. Bien plus rapide que find et awk, son utilisation est plus simple:

ag <path>

Installer depuis Ubuntu 14.04

Sudo apt-get install silversearcher-ag

Regardez quelques comparaisons de vitesse avec find et awk

https://github.com/ggreer/the_silver_searcher

enter image description herevous pouvez aussi utiliser gnome-search-tool. vous pouvez l'obtenir par Sudo apt-get install gnome-search-tool

0
rɑːdʒɑ

Le code Python suivant retournera les résultats de la recherche très rapidement. Il suffit de changer le deuxième paramètre dans fnmatch.fnmatch(file,'*.txt) pour choisir ce que vous recherchez. C'est incroyablement rapide.

import fnmatch
import os

for file in os.listdir('.'):
    if fnmatch.fnmatch(file, '*.txt'):
        print file
0
noel