OVH Cloud OVH Cloud

Recherches en ligne de commande

48 réponses
Avatar
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

10 réponses

1 2 3 4 5
Avatar
mv
Joseph-B a soumis à notre sagacité :
Plus exactement Bash (et ses commandes shell) ne sait pas lire dans le
resource fork, mais MacOS sait faire puisque SpotLight a réussi a
indexer ces fichiers.

Alors je n'ai rien compris à la commande : je croyais que ça cherchait
les fichiers/dossiers dont le nom comportait "scpt" !
Cordialement
--
Michel Vauquois - <http://michelvauquois.fr>
Avatar
josephb
MV wrote:
Alors je n'ai rien compris à la commande : je croyais que ça cherchait
les fichiers/dossiers dont le nom comportait "scpt" !

Comme toi je suis perplexe, car la commande est censée aller lire dans
la base de données d'indexation de Spotlight (alimentée par ces
fichiers)
À moins qu'un mécanisme de feedback de la commande prévoie de vérifier
/sur le fichier même/ la validité de la réponse à la requête ? (Qui
échouerait dans ce cas de données en data fork)
Possible mais vraiment "sophiscated"
--
J. B.
Avatar
josephb
MV wrote:
Ça ne me paraît pas anormal... Avec | wc -l en lieu et place de -count
c'est la même chose : ça ne donne que le nombre d'occurrences.

Chez moi c'est comme ça aussi
et c'est normal puisque le pipe transforme le résultat de la requête
initiale en "standin" de la commande de comptage des lignes (les
chemins) vers la réponse en sortie
extrait du man de wc :
Syntax
wc [-clmw] [file ...]
Options
-c The number of bytes in each input file is written to the
standard output.
-l The number of lines in each input file is written to the
standard output.
--
J. B.
Avatar
mv
Joseph-B a soumis à notre sagacité :
Comme toi je suis perplexe,

Ça me rassure ! ;-)
À moins qu'un mécanisme de feedback de la commande prévoie de vérifier
/sur le fichier même/ la validité de la réponse à la requête ? (Qui
échouerait dans ce cas de données en data fork)
Possible mais vraiment "sophiscated"

J'ai vraiment peine à croire ça... C'est d'ailleurs pour ça que je me
demandais ce que venaient faire les resource et data forks dans
l'histoire. Mais on n'est jamais au bout de nos surprises avec Apple !
Cordialement
--
Michel Vauquois - <http://michelvauquois.fr>
Avatar
listes
Joseph-B wrote:
Le Moustique wrote:
MacOS
(X) ne sait plus les lire, même si ton éditeur y arrive.

Plus exactement Bash (et ses commandes shell) ne sait pas lire dans le
resource fork, mais MacOS sait faire puisque SpotLight a réussi a
indexer ces fichiers.

Il y a des outils en ligne de commande qui permettent de lire la section
de ressource, en particulier Derez qui s'installe avec XCode (et qui est
très similaire à l'outil du même nom qui était fourni avec MPW).
Julien
Avatar
Jean-Pierre Kuypers
In article (Dans l'article) <1nos8f2.1fdcmocw82bf0N%,
Julien Salort wrote (écrivait) :
Il y a des outils en ligne de commande qui permettent de lire la section
de ressource, en particulier Derez qui s'installe avec XCode (et qui est
très similaire à l'outil du même nom qui était fourni avec MPW).

À toutes fins utiles :
"Mac OS X Resource Fork and Command Line Tips"
<http://xahlee.info/UnixResource_dir/macosx.html>
--
Jean-Pierre Kuypers
Veuillez installer les phrases dans leur con-
texte avant de fournir sciemment.
Avatar
Jean-Pierre Kuypers
In article (Dans l'article) <1nos8f2.1fdcmocw82bf0N%,
Julien Salort wrote (écrivait) :
Il y a des outils en ligne de commande qui permettent de lire la section
de ressource, en particulier Derez qui s'installe avec XCode (et qui est
très similaire à l'outil du même nom qui était fourni avec MPW).

Toutafé !
Rez et DeRez gèrent a priori l'information de la partie resource.
Pour travailler sur la partie data, il faut préciser -useDF.
Cf. man Rez et DeRez
--
Jean-Pierre Kuypers
Veuillez lire les phrases dans leur con-
texte avant de permettre sciemment.
Avatar
romer
Joseph-B wrote:
Ça ne me paraît pas anormal... Avec | wc -l en lieu et place de -count
c'est la même chose : ça ne donne que le nombre d'occurrences.

Chez moi c'est comme ça aussi
et c'est normal puisque le pipe transforme le résultat de la requête
initiale en "standin" de la commande de comptage des lignes (les
chemins) vers la réponse en sortie
extrait du man de wc :
Syntax
wc [-clmw] [file ...]
Options
-c The number of bytes in each input file is written to the
standard output.
-l The number of lines in each input file is written to the
standard output.

Du coup comment avoir et la liste des ocurences et le nb d'éléments de
cette liste ?
J'ai bien trouvé comment faire mais c'est lourdingue.
Genre :
mdfind -onlyin ~/ 'kMDItemFSName == "Fin"wc';mdfind -onlyin ~/
'kMDItemFSName == "Fin"wc' -count
Autrement dit avec 2 commandes dont une qui recherche et l'autre qui
compte (sans écrire la recherche)
Y aurait-il plus simple ?
--
A+
--
Romer
Avatar
josephb
Bernd wrote:
Autrement dit avec 2 commandes dont une qui recherche et l'autre qui
compte (sans écrire la recherche)

Pas mieux, une variante étant de mettre le résultat de la commande en
variable puis compter son nombre de lignes ?
Mais je suis vraiment pas adroit en script shell !
--
J. B.
Avatar
josephb
Jean-Pierre Kuypers wrote:
Julien Salort wrote (écrivait) :
Il y a des outils en ligne de commande qui permettent de lire la section
de ressource, en particulier Derez qui s'installe avec XCode (et qui est
très similaire à l'outil du même nom qui était fourni avec MPW).

Toutafé !
Rez et DeRez gèrent a priori l'information de la partie resource.
Pour travailler sur la partie data, il faut préciser -useDF.

Merci à vous deux pour l'information :-)
--
J. B.
1 2 3 4 5