#1 Le 27/11/2016, à 10:51
- wallace27
Recherche selon plusieurs mots contenus dans le texte d'un fichier
Bonjour,
Si je possède plusieurs documents écris sur mon disque dur ou ssd et que je souhaite retrouver ces documents en écrivant quelques mots ou quelques phrases, est-ce que je peux le faire avec Ubuntu comme cela est par exemple possible via spootlight sur mac ?
Merci pour votre aide.
Hors ligne
#2 Le 27/11/2016, à 15:22
- gigiair
Re : Recherche selon plusieurs mots contenus dans le texte d'un fichier
Je fais ça très facilement avec Emacs en mode dired. Commande find-grep. Ça marche aussi bien sous Mac ou sous Windows.
Dernière modification par gigiair (Le 27/11/2016, à 15:23)
--
JJR.
Hors ligne
#3 Le 27/11/2016, à 20:54
- wallace27
Re : Recherche selon plusieurs mots contenus dans le texte d'un fichier
concrètement je tape "emacs" dans le terminal et ensuite ?
Hors ligne
#4 Le 27/11/2016, à 23:55
- gigiair
Re : Recherche selon plusieurs mots contenus dans le texte d'un fichier
Tu peux aussi lancer Emacs depuis un menu.
Tu tapes C-x d pour sélectionner le répertoire à partir duquel tu veux lancer la recherche.
~/ c'est ton répertoire personnel.
Il faut utiliser l'auto-complétion impérativement pour sélectionner le répertoire de ton choix(google si tu ne sais pas de quoi il s'agit)
Ensuite tu tapes
M-x find-grep RET
Puis tu indiques la chaîne de caractère que tu recherches dans le texte qui s'affiche
find . -type f -exec grep --color -nH -e 'toto' {} +
Tu n'es pas obligé de chercher toto, tu as le droit de mettre ce que tu veux
La fenêtre se divise en deux et en dessous la liste des fichiers qui contiennent 'toto' se remplit.
Tu clique sur le fichier qui t'intéresse, et le fichier est ouvert en édition.
Dans le jargon Emacs, M-x veut dire que tu appuie simultanément sur la touche Meta (Appelée Alt sur les PC, sur mac, chaispas) et sur la touche x
C-x d signifie que tu tapes simultanément sur la touche Control et sur la touche x, puis après relâchement sur la touche d.
RET signifie que l'on tape la touche de validation (Entrée)
Si tu n'as jamais manipulé Emacs, il st bon de lire le tutoriel, ça prend pas beaucoup de temps, c'est proposé sur l'écran d'accueil.
Pour plus d'informations sur les commandes possibles en mode dired, M-: (info "(emacs)dired")
Pour une documentation complète de Emacs (si installée) C-h i d m emacs RET
Si tu ne connais pas la navigation dans info, C-h i d m info RET
--
JJR.
Hors ligne
#5 Le 28/11/2016, à 11:56
- Mobidique
Re : Recherche selon plusieurs mots contenus dans le texte d'un fichier
grep cherchera que dans les fichiers texte pas les pdf ou les archives zippées de libreoffice docx and co.
Ce que tu veux faire c'est peut être de l'indexation de contenu => recoll
Sinon gnome-search-tool ou catfish sont des interfaces à grep/find/locate.
@+
Dernière modification par Mobidique (Le 28/11/2016, à 13:06)
Ubuntu 22.04
Hors ligne
#6 Le 29/11/2016, à 00:10
- wallace27
Re : Recherche selon plusieurs mots contenus dans le texte d'un fichier
Impossible de comprendre l'explication de gigiair + merci à Mobidique, tes deux utilitaires s'approchent de très près de ce que je recherche. Mais on reste extrêmement loin de spootlight de mac os. Par ailleurs, ni gnome-search-tool ni catfish ne trouvent tous mes documents et encore moins le texte contenu dans mes fichiers (quels que soient les formats pdf, .cpp, .txt, .hs, etc.)
Dernière modification par wallace27 (Le 29/11/2016, à 00:10)
Hors ligne
#7 Le 29/11/2016, à 06:18
- gigiair
Re : Recherche selon plusieurs mots contenus dans le texte d'un fichier
Impossible de comprendre l'explication de gigiair
Si tu n'as jamais utilisé Emacs, c'est un peu rude. J'ai dit ce que j'utilise et qui me satisfait totalement. On n'a pas tous les mêmes pratiques.
Pour rechercher dans les pdf ou autres odt, il faut en extraire préalablement le texte, il y a des utilitaires pour ça. C'est un peu plus compliqué, mais comme je n'ai pas de fichiers odt ou docx, je n'ai jamais eu à le faire. pour mes pdf, j'ai le source en LaTeX donc je n'ai pas non plus à le faire. Seulement pour les fichiers qui ne sont pas produits par moi-même.
--
JJR.
Hors ligne
#8 Le 29/11/2016, à 08:39
- Mobidique
Re : Recherche selon plusieurs mots contenus dans le texte d'un fichier
gnome-search-tool ou catfish sont des interfaces à grep/find/locate.
grep cherchera que dans les fichiers texte pas les pdf ou les archives zippées de libreoffice docx and co.
Ceci explique cela.
Synapse et Kupfer se présentent un peu plus comme spotlight mais là ou ce dernier cherche aussi dans le contenu des documents (j'ai pas de mac je viens de le lire sur le net) eux se limitent à chercher des fichiers ou des applications en se basant en particulier sur les actions récentes.
J'utilise synapse pour lancer mes applications et pour aller rapidement dans un répertoire ou trouver un document récent, gnome-search-tool pour chercher un mot clé dans des fichiers textes à partir d'un point d'arborescence (typiquement error ou warning dans des traces d’exécution de programme) et recoll pour chercher des documents sur la base de mots clés au sein de documents de natures diverses (~10GO de docs).
J'aurai sans doute dû commencer par là : https://doc.ubuntu-fr.org/recherche_de_fichiers
Tracker était prometteur.
@+
Dernière modification par Mobidique (Le 29/11/2016, à 08:42)
Ubuntu 22.04
Hors ligne
#9 Le 29/11/2016, à 16:48
- wallace27
Re : Recherche selon plusieurs mots contenus dans le texte d'un fichier
Merci. Pour l'instant j'ai essayé SearchMonkey qui n'est pas mal du tout. Il reste néanmoins extrêmement en dessous de spootlight mac os et de la fonction de recherche dans Windows 10 en termes de vitesse et d'exhaustivité des résultats (contenus pdf même pas analysés...).
Hors ligne
#10 Le 29/11/2016, à 16:57
- Mobidique
Re : Recherche selon plusieurs mots contenus dans le texte d'un fichier
recoll.
Ubuntu 22.04
Hors ligne
#11 Le 12/12/2016, à 22:11
- wallace27
Re : Recherche selon plusieurs mots contenus dans le texte d'un fichier
Recoll est très puissant merci. Et très rapide. Mais j'ai l'impression qu'il m'affiche les résultats de fichiers qui n'existent pas sur ma machine et/ou qui ont été effacés il y a longtemps en arrière. Y a-t-il une solution ?
Hors ligne
#12 Le 13/12/2016, à 08:36
- Mobidique
Re : Recherche selon plusieurs mots contenus dans le texte d'un fichier
C'est très étonnant. Quand tu as une page de résultat, avec un click droit sur un document tu peux choisir "ouvrir le document parent", c'est à dire le répertoire conteneur en fait. Tu peux vérifier si le doc est là ou pas. S'il n'est pas là, je me tournerais vers le site de recoll et en particulier https://www.lesbonscomptes.com/recoll/support.html où tu as la liste des bug connus, l'email de l'auteur, que j'ai contacté par le passé et qui est dispo, mais il faut être dispo aussi car il peux être amené à te demander de faire des manips.
@+
Dernière modification par Mobidique (Le 13/12/2016, à 08:38)
Ubuntu 22.04
Hors ligne
#13 Le 13/12/2016, à 09:44
- wallace27
Re : Recherche selon plusieurs mots contenus dans le texte d'un fichier
Malheureusement quand je fais "ouvrir le document parent", je tombe sur un message d'erreur.
Hors ligne
#14 Le 14/12/2016, à 00:38
- wallace27
Re : Recherche selon plusieurs mots contenus dans le texte d'un fichier
recoll est le meilleur que je suis en train de tester. Est-ce qu'il est possible toutefois de le faire chercher dans les documents .cpp, .xml, .php, .html, etc. ?
Hors ligne
#15 Le 14/12/2016, à 14:17
- Mobidique
Re : Recherche selon plusieurs mots contenus dans le texte d'un fichier
Ce sont des fichiers texte, il n'y a pas de pb pour qu'il soient indexés. Dans mon configuration, je pointe également vers des répertoires de programmes, en texte et je retrouve mon code comme ça.
@+
Ubuntu 22.04
Hors ligne
#16 Le 14/12/2016, à 22:58
- wallace27
Re : Recherche selon plusieurs mots contenus dans le texte d'un fichier
Le problème est que pour l'instant recoll ne recherche rien dans mes fichiers cpp, .xml, .php, .html, etc.. Comment faire ?
Hors ligne