Logiciel de recherche de texte dans les fichiers


24

Je recherche un logiciel qui recherchera du texte dans des fichiers à partir d'un dossier similaire à XYplorer .

Y a-t-il quelque chose de similaire?


Doit-il s'agir d'un outil GUI?
Octavian A. Damiean

1
@Octavian oui, mais il n'y en a pas, cela fonctionnera pour moi
Santosh Linkha

Réponses:


19

Il y en a un très joli qui est livré avec Ubuntu hors de la boîte.

  1. Ouvrez le Dash ( Superclé ou le bouton Ubuntu) et commencez à taper jusqu'à ce que vous trouviezSearch for Files

    entrez la description de l'image ici

  2. Ce qui précède est pour Unity, l'environnement de bureau par défaut dans Ubuntu. Dans les environnements pilotés par menu, accédez à Applications-> Accessories->Search for Files

    entrez la description de l'image ici

  3. Développez la Select more optionssection et entrez le texte à rechercher dans le Contains the text:champ de saisie.

    entrez la description de l'image ici

Fonctionnalités:

  • 100% GUI
  • Vous pouvez rechercher des noms de fichiers ou du contenu
  • Il regarde dans les sous-dossiers.

Compte tenu de votre scénario (pas de commandes de terminal, interface simple à utiliser), je pense qu'il n'y a pas de meilleure option.

PS: sur le Contains the text:champ de saisie le '.' le caractère est un caractère générique. Pour y échapper, vous devez utiliser «[]». Par exemple: tapez Contains the text: [.]myFunctionpour rechercher .myFunction


yup, je ne voyais pas que je pouvais ajouter des détails
Santosh Linkha

1
oui, vous pouvez ... cliquer simplement sur "sélectionner plus d'options" et vous pouvez avoir non seulement "Contient le texte" mais aussi des tonnes d'autres options de recherche (date, utilisateur, calibreur de fichier, voire expressions regex). J'ai aussi manqué cette petite bête pendant longtemps ... j'aurais aimé qu'elle soit intégrée dans Nautilus (un peu comme F3 dans l'Explorateur Windows)
MestreLion

c'est la même chose que je le disais plus tôtgnome-search-tool
Mikl

@Octavian: Merci d'avoir fourni les captures d'écran!
MestreLion

@Mikl: c'est le même résultat, la différence réside dans l'approche sur la façon de l'invoquer: votre solution initiale était axée sur l'invocation en ligne de commande (ou ALT + F2) et n'a mentionné que brièvement, elle pouvait également être trouvée dans le menu. Je n'ai pas dit ni quel était le nom du programme dans le menu. Ce n'est qu'après avoir publié ma réponse que vous avez modifié la vôtre pour fournir le chemin et le nom du menu. Pour les nouveaux arrivants, une approche orientée Menu est toujours meilleure que l'invocation CLI. ALT + F2 ne doit être utilisé que lorsque le logiciel n'est pas disponible dans le menu.
MestreLion

11

utilisation

 grep -nr <your text> .

mettez le texte que vous voulez trouver dans <votre texte>


at-

experimentx@workmateX:/var/www/testingzedn$ grep -nr application.iniprend pour toujours ... je me
trompe

besoin du point. , il se penchera sur le dossier avec le -r
wizztjh

grep -nr application.ini.
wizztjh

9

vous pouvez utiliser

find . -name '*.*' -exec grep -Hn 'text to find' '{}' \;

-name '*. *' ou '* .txt' (utilisez le masque de fichier ici)
'text to find' (placez le texte que vous voulez trouver ici)

find . -type f -exec grep -Hn 'text to find' '{}' \;

si vous souhaitez rechercher tous les fichiers


Pour tous les fichiers, ne pas utiliser -name '*.*'car les fichiers n'ont pas toujours d'extension. Utilisez à la -type fplace (pour rechercher dans tous les fichiers). Remplacez {}par "{}", sinon les noms de fichiers avec des espaces ne seront pas recherchés correctement.
Lekensteyn

@Lekensteyn j'ai édité mon message. mais j'ai fait un test avec des fichiers avec des espaces dans les noms et aucune erreur lors de l'utilisation de {} sans guillemets.
Mikl

venez de le tester aussi et vous avez raison, l'espace n'est pas un problème. Dans certains shells, les guillemets peuvent encore être nécessaires pour empêcher l'expansion du shell. Extrait de man find: "Ces deux constructions peuvent devoir être échappées (avec un" \ ") ou citées pour les protéger de l'expansion par le shell."
Lekensteyn

9

Outil GUI (graphique):

gnome-search-tool

vous pouvez le trouver dans le menu principal d'Ubuntu

Menu -> Accessories -> Search for Files

ou l'exécuter en utilisant la touche de raccourci ALT + F2


1
Juste une mise à jour pour les nouvelles versions d'Ubuntu: sur l'interface Unity (Ubuntu 12 ou supérieur), cliquez sur Dash Home (la première icône de la barre d'outils), tapez "rechercher" et sélectionnez l'application "Rechercher les fichiers".
josircg

9

Je suis fan de searchmonkey (GPL, gratuit, multiplateforme, assez léger sur les ressources et très rapide).

entrez la description de l'image ici


Cela semble bon. Je vais essayer sur d'autres plates-formes car la réponse la plus votée correspond à ma facture sur Ubuntu.
Amol Gawai

Semble qu'il ne fonctionne pas sur les systèmes d'exploitation 64 bits (j'ai rencontré le problème lors de la victoire 7 64 bits). C'est une rupture pour moi car j'utilise des systèmes d'exploitation 64 bits partout. Semblait prometteur cependant.
Amol Gawai

@AmolGawai fonctionne parfaitement sur ubuntu 64bit ici ...
Aquarius Power

4

Regexxer vous permettra de rechercher du texte dans des fichiers. Vous ne savez pas ce que vous entendez par «dans les dossiers».

entrez la description du lien ici


3

Recherche graphique:

dans Kubuntu, ouvrez Dolphin, puis Édition-> Rechercher (Ctrl + F)

changez de nom de fichier en contenu et ajustez d'où chercher.


2

Recoll effectue l'indexation et vous pouvez effectuer des recherches en texte intégral sur les documents et les e-mails.


La recherche dans 50 000 dossiers est pénible: D si vous n'indexez pas les données, donc si vous ne pouvez pas acheter un disque SSD, installez un outil d'indexation avant de perdre du temps à chercher des fichiers. Faites le travail une fois. Même si ce n'est pas une réponse à la question actuelle, c'est un bon point de vue.
m3nda

1

J'ai comparé trois des suggestions ici avec 64 bits 16.04 Kubuntu:

  1. Searchmonkey fonctionne avec Ubuntu 64 bits de nos jours. Il est similaire à regexxer. Il est apparu rapidement, mais il est naturellement beaucoup plus lent que la recherche basée sur un index.
  2. La recherche de fichiers et Alt-F2 ne fonctionnent pas avec la version Ubuntu de KDE.
  3. Ma recommandation est Recoll et j'ai ajouté quelques instructions d'installation pour cela. Pour moi, l'installation par défaut prend en charge PDF (testez cela!), DOCX, TAR, ZIP, etc.

    sudo add-apt-repository "deb http://archive.canonical.com/ $(lsb_release -sc) partner"
    sudo apt-get install recoll antiword
    recoll
    
  4. La première ligne n'est probablement pas requise: elle ajoute un référentiel d'installation partenaire.

  5. Antiword est facultatif. Il est nécessaire pour prendre en charge les anciens fichiers .doc.
  6. Activez les liens symboliques suivants et le répertoire racine à partir des préférences de Recoll si nécessaire.
  7. Créez une tâche cron pour l'indexation Recoll à l'aide de l'interface graphique ou faites-la démarrer à chaque connexion.
  8. Modifiez le paramètre Recoll dans les préférences de l'anglais à toutes les langues si cela vous convient.
  9. Démarrez l'indexation, du moins pour moi, c'était étonnamment rapide et je n'ai pas utilisé toutes les ressources, j'ai donc pu continuer à utiliser l'ordinateur portable.
  10. J'ai trouvé un bug de Recoll jusqu'à présent: si vous recherchez un nom de fichier avec "PST", il ne le trouve pas même s'il est en majuscules. "pst" fonctionne et il trouve les noms en majuscules et en minuscules.
  11. En savoir plus sur recoll sur https://www.lesbonscomptes.com/recoll/features.html

Si vous souhaitez ajouter la prise en charge des fichiers Outlook PST, vous devez également exécuter ce qui suit.

    sudo apt-get install readpst
    mkdir ~/PST
    find -L ~ -name "*.pst" -print | awk "{ printf \"%s%s %s%s%s %s\\n\", \"mkdir ~/PST/\", \$1, \"; readpst -o ~/PST/\", \$1, \" -D -j 4 -r -tea -u -w\", \$1 }" > /tmp/myPstFiles
    cat /tmp/myPstFiles
    chmod 755 /tmp/myPstFiles
    /tmp/myPstFiles
  1. Modifiez le répertoire racine de ~ en / si nécessaire dans la commande find.
  2. Mon script find contient un bug: il crée maintenant une structure de répertoire trop longue. Mais il était plus facile pour moi de modifier le fichier temporaire manuellement que de trouver un correctif à cela. L'objectif principal était que cela fonctionne pour plusieurs fichiers PST et c'est ce qu'il fait.
  3. En savoir plus sur Readpst sur http://www.five-ten-sg.com/libpst/rn01re01.html et https://blog.robseder.com/2015/08/29/working-with-a-pst-file -in-linux /

0

Je veux vraiment introduire un outil basé sur la bibliothèque ncurses pour fournir l'interface utilisateur textuelle. L'outil appelé NCGREP (grep basé sur ncurses) est principalement utilisé pour rechercher du texte dans le dossier spécifique. J'espère que c'est ce que vous voulez. Cette source de l'outil a été hébergée sur github.com, voir plus sur https://github.com/ncgrep/ncgrep

entrez la description de l'image ici
Cliquez sur l'image pour voir l'animation de démonstration

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.