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?
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.
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 .
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)
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
Négatif
2) Launchy
Installation: Téléchargez le package ici .
Positif:
Négatif:
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:
Négatif:
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:
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é
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
vous pouvez aussi utiliser gnome-search-tool. vous pouvez l'obtenir par Sudo apt-get install gnome-search-tool
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