Swisslinux.org

− Le carrefour GNU/Linux en Suisse −

 

Langue

 

Le Forum

Vous n'êtes pas identifié.

#1 31 Mar 2020 17:05:32

François Marthaler
Modérateur
Lieu: Prilly
Date d'inscription: 07 Sep 2013
Messages: 2872
Site web

[Résolu] Comment effectuer une recherche plein texte

Un client, un peu perplexe face au manuel de grep (la commande de recherche en mode terminal), me demandait comment effectuer une recherche plein texte sur tout son disque.

Lire la réponse ci-dessous.


laptop why! NV41MZ, Intel Core i7-1165G7, RAM 16 Gb, Ubuntu 22.04 LTS

Hors ligne

 

#2 31 Mar 2020 17:23:45

François Marthaler
Modérateur
Lieu: Prilly
Date d'inscription: 07 Sep 2013
Messages: 2872
Site web

Re: [Résolu] Comment effectuer une recherche plein texte

En cherchant sur le web "Ubuntu recherche plein texte", je suis rapidement (re)tombé sur l'excellent cours openclassrooms "Reprenez e contrôle à l'aide de Linux".

La commande est locate à taper dans un terminal ([Ctrl]+[Alt]+[T]) et le résultat est fulgurant!

Code:

francois@francois-N240JU:~$ locate ubuntu

Mais locate ne recherche la séquence de caractères que dans les noms de fichier. Pour rechercher un fichier sur tout le disque, la commande locate est très rapide mais ne trouvera pas les fichiers qui viennent d'être créés dans la journée. On peut mettre à jour la liste des fichiers qu'elle connaît en appelant updatedb.

En fait, cela revient à ouvrir le navigateur de fichiers, sélectionner Dossier personnel (si on ne sait pas où se trouve le fichier" et taper [Ctrl]+[F] et taper le mot clé dans la fenêtre de recherche.


laptop why! NV41MZ, Intel Core i7-1165G7, RAM 16 Gb, Ubuntu 22.04 LTS

Hors ligne

 

#3 31 Mar 2020 17:33:29

François Marthaler
Modérateur
Lieu: Prilly
Date d'inscription: 07 Sep 2013
Messages: 2872
Site web

Re: [Résolu] Comment effectuer une recherche plein texte

En lisant la documentation Ubuntu sur les fonctions de recherche, il s'avère que la commande à utiliser pour une reche plein texte est bien grep.

On trouvera tous les détails sur la commande grep sur https://doc.ubuntu-fr.org/tutoriel/cons … base#grep.

En lisant les précisions concernant grep sur https://doc.ubuntu-fr.org/recherche_lig … ande#grep, j'ai découvert que la commande grep ne lit pas dans les .pdf ou .odt.

J'ai créé un fichier 2020.03.30_Test_grep.odt qui ne contient que le mot "anticonstitutionnellement" que j'ai sauvegardé sur mon bueau. Avec la commande proposée, j'ai pu rapidement retrouver mon fichier, après m'être déplacé dans le dossier Bureau:

Code:

francois@francois-N240JU:~$ cd Bureau/
francois@francois-N240JU:~/Bureau$ find -name '*.odt' -exec sh -c 'unzip -c "{}" content.xml | grep -qi "anticonstitutionnellement"' ";" -print
./2020.03.31_Test_grep.odt

Je n'ai pas essayé de chercher sur tout mon disque, car cela risque d'être assez long avec >200 GB de données...

J'arrête là, mais la commande peut être utile pour quelqu'un qui ne se souviendrait que d'une chaîne de caractères sans savoir dans quel dossier se trouve le fichier qui la contient.


laptop why! NV41MZ, Intel Core i7-1165G7, RAM 16 Gb, Ubuntu 22.04 LTS

Hors ligne

 

#4 01 Apr 2020 12:08:09

DVZ15
Apôtre du libre
Date d'inscription: 28 Jan 2018
Messages: 50

Re: [Résolu] Comment effectuer une recherche plein texte

Bonjour sinon il y a "catfish" qui permet aussi dans les options de faire une recherche dans le contenu d'un dossier.

Dispo dans la logithèque!

Salutations


xubuntu 22.04 LTS
N131ZU  i7-8565U - RAM : 32 GB - SSD 500 GB Nvme

Hors ligne

 

Pied de page des forums

Powered by FluxBB