Qui connait mdfind ?

10 réponses
Avatar
romer
Hi,

J'utilise souvent la commande 'mdfind' du terminal pour trouver des
fichiers rapidement. Ex :
mdfind 'kMDItemFSName == "*montagne*"cd' -onlyin /Users/toto/
trouve tous les fichiers qui contiennent 'montagne' dans leur nom et qui
sont situés dans le dossier 'toto'.

Mais parfois je me retrouve avec des centaines d'occurences car un
dossier particulier renvoie des centaines de fichiers contenant
l'occurence recherchées. Ce dossier est par ex iTunes et ses milliers de
chansons. Ce que je ne souhaite pas.
Comment donc éliminer iTunes de la recherche et lui seul ?

Toutes les recherches effectuées sur le web ne traitent pas ce cas.
Merci d'avance.

A+
--
Romer

10 réponses

Avatar
mv
Bernd n'a pas hésité à écrire :
Comment donc éliminer iTunes de la recherche et lui seul ?

En ajoutant :
|grep -v 'iTunes'
non ? Ça devrait éliminer les éléments trouvés dans le dossier iTunes ?
Cordialement
--
Michel VAUQUOIS - http://michelvauquois.fr
Avatar
romer
MV wrote:
Comment donc éliminer iTunes de la recherche et lui seul ?

En ajoutant :
|grep -v 'iTunes'
non ? Ça devrait éliminer les éléments trouvés dans le dossier iTunes ?

Soper ! ça marche et même... mieux que prévu.
En combinant d'autres dossiers, on peut en éliminer plusieurs d'un coup.
Après qq tâtonnements sur la syntaxe, il apert qu'en ajoutant par ex. :
... | grep -v 'shared,INFOS,Personnel'
on élimine les dossiers shared INFOS et Personnel
Merci de ta diligence.
A+
--
Romer
Avatar
romer
Bernd wrote:
Erratum
En combinant d'autres dossiers, on peut en éliminer plusieurs d'un coup.
Après qq tâtonnements sur la syntaxe, il apert qu'en ajoutant par ex. :
... | grep -v 'shared,INFOS,Personnel'
on élimine les dossiers shared INFOS et Personnel

Je suis allé un peu vite - il faut répéter grep
donc : ... | grep -v 'shared' grep -v 'INFOS' grep -v 'Personnel'
Et là, c'est bon... à moins qu'on puisse utiliser avec grep une syntaxe
plus simple pour éliminer plusieurs dossiers à la fois.
A+
--
Romer
Avatar
Le Moustique
Le 05/04/2019 à 19:43, Bernd a écrit :
J'utilise souvent la commande 'mdfind' du terminal pour trouver des
fichiers rapidement.

C'est plus efficace que Spotlight? Si oui, on peut se demander sur quoi
est basé cet "outil"...
--
/)
-:oo= Guillaume
)
Je nettoyais mon clavier, et le coup est parti tout seul.
Avatar
romer
Le Moustique wrote:
Le 05/04/2019 à 19:43, Bernd a écrit :
J'utilise souvent la commande 'mdfind' du terminal pour trouver des
fichiers rapidement.

C'est plus efficace que Spotlight? Si oui, on peut se demander sur quoi
est basé cet "outil"...

Pour la base de données sur... Spotlight !
Mais c'est grep qui fait ensuite la différence.
Suffit de regarder 'man grep' pour en saisir toute la puissance.
A+
--
Romer
Avatar
Matt
On ven. 05 avril 2019 (21:28),
Bernd wrote:
Je suis allé un peu vite - il faut répéter grep
donc : ... | grep -v 'shared' grep -v 'INFOS' grep -v 'Personnel'
Et là, c'est bon... à moins qu'on puisse utiliser avec grep une syntaxe
plus simple pour éliminer plusieurs dossiers à la fois.

#v+
mdfind 'kMDItemFSName == "*montagne*"cd' -onlyin /Users/toto/ | egrep -v
"(shared|INFOS|Personnel)"
#v-
--
(desperate-angel12): bon si je m'éxuse on peut résté en bon therme?
(Bubus_666): je sais pas, j'ai pas tellement d'édifices romains par chez moi
* bashfr.org
Avatar
mv
Bernd n'a pas hésité à écrire :
Merci de ta diligence.

En fait de diligence, c'est un Partner...
Cordialement
--
Michel VAUQUOIS - http://michelvauquois.fr
Avatar
mv
Le Moustique n'a pas hésité à écrire :
C'est plus efficace que Spotlight?

Oui et on en a déjà parlé (longtemps) ici-même il y a quelques mois.
Spotlight est "bridé" et n'indexe pas certains dossiers (en particulier
les dossiers système).
Essaye par exemple avec CoreAnalytics dans Spotlight (il me renvoie à un
article de MacBidouille) puis essaye
mdfind 'CoreAnalytics'
qui me trouve 4 éléments
Cordialement
--
Michel VAUQUOIS - http://michelvauquois.fr
Avatar
romer
Matt wrote:
Je suis allé un peu vite - il faut répéter grep

donc : ... | grep -v 'shared' grep -v 'INFOS' grep -v 'Personnel'

Et là, c'est bon... à moins qu'on puisse utiliser avec grep une syntaxe
plus simple pour éliminer plusieurs dossiers à la fois.

#v+
mdfind 'kMDItemFSName == "*montagne*"cd' -onlyin /Users/toto/ | egrep -v
"(shared|INFOS|Personnel)"
#v-

Pas mal en effet - créer ensuite un raccourci avec un utilitaire, type
'textExpander' et c'est tout bon.
Tks.
A+
--
Romer
Avatar
michele
MV wrote:
Spotlight est "bridé" et n'indexe pas certains dossiers (en particulier
les dossiers système).
Essaye par exemple avec CoreAnalytics dans Spotlight (il me renvoie à un
article de MacBidouille) puis essaye
mdfind 'CoreAnalytics'
qui me trouve 4 éléments
Cordialement

J'utilise HoudahSpot qui recherche aussi dans le système et dans les
dossier cachés (faut juste lui créer un template de recherche sur tout
le disque, le nommer et le choisir au démarrage en l'enregistrant comme
défaut dans le menu "fichier").
Il s'appuie surspotlight j'imagine, mais il permet les recherches
partout.
Et puis on peut exclure des dossiers, se concentrer sur d'autres et
c'est en gui.
Pour ceux qui comme moi ont du mal quand il n'y a pas une jolie
interface boutonneuse.