Recherches en ligne de commande

Le
romer
Hi,

On a récemment parlé de commandes permettant de chercher très rapidement
des fichiers dans le disque dur à l'aide du terminal.
Ex :
mdfind 'kMDItemFSName == "*Mickey*"cd'
trouve toutes les occurences de 'Mickey' dans le nom des fichiers.

Mais compte tenu parfois du nb énorme de fichiers trouvés, est-il
possible de resteindre cette recherche à un dossier particulier, comme
par ex. le fichier ~/ ?
Je n'ai pas trouvé cette possibilité.

--
A+
--
Romer
Vos réponses Page 1 / 5
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Matt
Le #26474381
On Jeu 10 mai 2018 (10:02),
Bernd
Hi,

Hello,
On a récemment parlé de commandes permettant de chercher très rapidement
des fichiers dans le disque dur à l'aide du terminal.
Ex :
mdfind 'kMDItemFSName == "*Mickey*"cd'
trouve toutes les occurences de 'Mickey' dans le nom des fichiers.
Mais compte tenu parfois du nb énorme de fichiers trouvés, est-il
possible de resteindre cette recherche à un dossier particulier, comme
par ex. le fichier ~/ ?
Je n'ai pas trouvé cette possibilité.

#+v
% mdfind -onlyin ~/Documents 'kMDItemFSName == "mickey"wc'
#v-
Permettra de rechercher tout fichiers/répertoires contenant le mot
« Mickey » ou « mickey » dans leurs noms de fichier dans le répertoire
~/Documents
hth
--
<AI> On m'a dis qu'une clé USB c'est un truc pour enregistrer dessus...
<P> Oui, mais faut pas secouer, sinon ça mélange les fichiers.
<AI> C'est vrai ?!
* http://bashfr.org/?5214
romer
Le #26474410
Matt
Mais compte tenu parfois du nb énorme de fichiers trouvés, est-il
possible de resteindre cette recherche à un dossier particulier, comme
par ex. le fichier ~/ ?
Je n'ai pas trouvé cette possibilité.

#+v
% mdfind -onlyin ~/Documents 'kMDItemFSName == "mickey"wc'
#v-

Ok, tout marche bien - merci.
Juste un détail : pourquoi wc alors que cd marche aussi bien ?
Dernière requète : est-il possible de compter le nb d'enregistrements
trouvés ?
--
A+
--
Romer
pehache
Le #26474413
Le 11/05/2018 à 09:36, Bernd a écrit :
Matt
Mais compte tenu parfois du nb énorme de fichiers trouvés, est-il
possible de resteindre cette recherche à un dossier particulier, comme
par ex. le fichier ~/ ?
Je n'ai pas trouvé cette possibilité.

#+v
% mdfind -onlyin ~/Documents 'kMDItemFSName == "mickey"wc'
#v-

Ok, tout marche bien - merci.
Juste un détail : pourquoi wc alors que cd marche aussi bien ?
Dernière requète : est-il possible de compter le nb d'enregistrements
trouvés ?


Tu ajoutes à la fin de la commande précédente :
| wc -l
Donc :
#+v
% mdfind -onlyin ~/Documents 'kMDItemFSName == "mickey"wc' | wc -l
#v-
"man wc" pour en savoir plus.
Matt
Le #26474422
On Ven 11 mai 2018 (09:36),
Bernd
Ok, tout marche bien - merci.
Juste un détail : pourquoi wc alors que cd marche aussi bien ?

Relis bien ce que j'ai indiqué ;)
- « w » permet de rechercher le terme dans les noms de fichiers, évitant
l'usage du caractère joker « * ».
- « c » permet d'ignorer la casse du terme à rechercher.
Dernière requète : est-il possible de compter le nb d'enregistrements
trouvés ?

Avec la commande wc(1) comme l'indique pechache avec l'option « -l ».
hth
--
Number: Tu veux voir la bétise humaine?
Ero: Pourquoi, tu passes à la maison?
Numb: -_-
* http://bashfr.org/?4800
romer
Le #26474434
pehache
Dernière requète : est-il possible de compter le nb d'enregistrements
trouvés ?

Tu ajoutes à la fin de la commande précédente :
| wc -l
Donc :
#+v
% mdfind -onlyin ~/Documents 'kMDItemFSName == "mickey"wc' | wc -l
#v-
"man wc" pour en savoir plus.

Oui, je connais la commande que j'utilise avec un alias appelé nb.
Mais mdfind -onlyin ~/Documents 'kMDItemFSName == "mickey"wc' | wc -l
donne le nb de fichiers dans le dossier dans lequel on se situe et non
le nb d'enregistrements trouvés par la commande mdfind.
Il faudrait ajouter à la fin de la ligne quelque chose du genre -exec {}
;
mais je n'arrive à rien avec cela.
--
A+
--
Romer
pehache
Le #26474442
Le 11/05/2018 à 12:38, Bernd a écrit :
pehache
Dernière requète : est-il possible de compter le nb d'enregistrements
trouvés ?


Tu ajoutes à la fin de la commande précédente :
| wc -l
Donc :
#+v
% mdfind -onlyin ~/Documents 'kMDItemFSName == "mickey"wc' | wc -l
#v-
"man wc" pour en savoir plus.

Oui, je connais la commande que j'utilise avec un alias appelé nb.
Mais mdfind -onlyin ~/Documents 'kMDItemFSName == "mickey"wc' | wc -l
donne le nb de fichiers dans le dossier dans lequel on se situe et non
le nb d'enregistrements trouvés par la commande mdfind.
Il faudrait ajouter à la fin de la ligne quelque chose du genre -exec {}
;
mais je n'arrive à rien avec cela.

A mon avis tu ne tapes pas correctement la barre verticale (pipe) "|",
qu'on obtient par ALT-SHIFT-L
romer
Le #26474473
pehache
Il faudrait ajouter à la fin de la ligne quelque chose du genre -exec {}
;
mais je n'arrive à rien avec cela.

A mon avis tu ne tapes pas correctement la barre verticale (pipe) "|",
qu'on obtient par ALT-SHIFT-L

si, si - j'y fais attention - je fais même par sécurité un copier-coller
de l'ex. envoyé.
Voici une recherche et le résultat :
avec : | wc -l
le résultat de la recherche à disparu - il ne reste que le nb de
résultats (tj. le même puisque je ne change pas de répertoire)
Ex :
mdfind -onlyin /Users/bj/Desktop 'kMDItemFSName == "pivoines"wc'
/Users/bj/Desktop/Pivoines_110518.jpg
17
mdfind -onlyin /Users/bj/Desktop 'kMDItemFSName == "pivoines"wc' | wc
-l
17
Pour retrouver la liste des occurences il faut ajouter un 'ls'
ex : mdfind -onlyin /Users/bj/Desktop 'kMDItemFSName = "pivoines"wc';ls | wc -l
/Users/bj/Desktop/Pivoines_110518.jpg
17
--
A+
--
Romer
pehache
Le #26474486
Le 11/05/2018 à 18:12, Bernd a écrit :
pehache
Il faudrait ajouter à la fin de la ligne quelque chose du genre -exec {}
;
mais je n'arrive à rien avec cela.

A mon avis tu ne tapes pas correctement la barre verticale (pipe) "|",
qu'on obtient par ALT-SHIFT-L

si, si - j'y fais attention - je fais même par sécurité un copier-coller
de l'ex. envoyé.
Voici une recherche et le résultat :
avec : | wc -l
le résultat de la recherche à disparu - il ne reste que le nb de
résultats (tj. le même puisque je ne change pas de répertoire)
Ex :
mdfind -onlyin /Users/bj/Desktop 'kMDItemFSName == "pivoines"wc'
/Users/bj/Desktop/Pivoines_110518.jpg
17

D'où vient le "17" ??
mdfind -onlyin /Users/bj/Desktop 'kMDItemFSName == "pivoines"wc' | wc
-l
17

Même question
Pour retrouver la liste des occurences il faut ajouter un 'ls'
ex : mdfind -onlyin /Users/bj/Desktop 'kMDItemFSName = > "pivoines"wc';ls | wc -l
/Users/bj/Desktop/Pivoines_110518.jpg
17

Là c'est c'est normal : le ";" sépare les commandes. La première c'est
ton mdfind d'origine, et la seconde c'est "ls | wc -l" qui en effet te
retourne le nombre de fichiers/dossiers (17) dans le dossier courant.
--
"...sois ouvert aux idées des autres pour peu qu'elles aillent dans le
même sens que les tiennes.", ST sur fr.bio.medecine
Le Moustique
Le #26474485
Le 11/05/2018 à 21:33, pehache a écrit :
D'où vient le "17" ??

De la Rochelle?
OK, je ->[ ] ;-)
--
/)
-:oo= Guillaume
)
Je nettoyais mon clavier, et le coup est parti tout seul.
romer
Le #26474571
pehache
Voici une recherche et le résultat :
avec : | wc -l
le résultat de la recherche à disparu - il ne reste que le nb de
résultats (tj. le même puisque je ne change pas de répertoire)
Ex :
mdfind -onlyin /Users/bj/Desktop 'kMDItemFSName == "pivoines"wc'
/Users/bj/Desktop/Pivoines_110518.jpg
17

D'où vient le "17" ??

Le nombre invariable de fichiers dans le dossier où je me trouve lors de
l'envoi de la commande.
Quel que soit l'occurence demandée (toto, mickey, trump, etc.), je
trouverai 17.
--
A+
--
Romer
Publicité
Poster une réponse
Anonyme