Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Rechercher fichiers à partir d'une liste

17 réponses
Avatar
fra
Bonjour

J'essaie de réaliser avec le terminal une manip qui marchait il y a un
an (grâce à vos aides) :
<http://groups.google.fr/group/fr.comp.os.mac-os.x/browse_thread/thread/
3ea8bfb2a016beb5>

Et là ça marche plus ! Est-ce le passage à Snow Leopard ?

while read line; do mdfind -0 -onlyin '/Users/fra/Pictures/Photos'
"kMDItemFSName == '$line.*'" | xargs -0 ; done <
'/Users/fra/Desktop/liste.txt'

ne me sort plus ma liste de fichiers.

while read line; do mdfind -0 -onlyin '/Users/fra/Pictures/Photos'
"kMDItemFSName == '$line'" | xargs -0 ; done <
'/Users/fra/Desktop/liste.txt'

non plus.

Et donc

while read line; do mdfind -0 -onlyin '/Users/fra/Pictures/Photos'
"kMDItemFSName == '$line.*'" | xargs -0 -J % cp "%"
'/Users/fra/Desktop/OUT' ; done < '/Users/fra/Desktop/liste.txt'

ne marche pas.

Y'aurait quelque chose qui aurait changer dans les commandes du terminal
sous Snow Leopard ???? (dans quel intéret ?)

Merci d'avance.
--
Fra

10 réponses

1 2
Avatar
Patrick Stadelmann
In article <1jh7ykh.lw3ich0nesqN%,
(Fra) wrote:

Et là ça marche plus ! Est-ce le passage à Snow Leopard ?



Je ne pense pas.

while read line; do mdfind -0 -onlyin '/Users/fra/Pictures/Photos'
"kMDItemFSName == '$line.*'" | xargs -0 ; done <
'/Users/fra/Desktop/liste.txt'



Spotlight trouve-t-il les fichiers lui ? La syntaxe utilisée ci-dessus
ne va trouver que les fichiers qui ont exactement le même nom que dans
la liste, liste qui ne doit pas contenir les extensions.

Si ça fonctionne avec Spotlight, indique le nom d'un fichier et l'entrée
correspondante dans la liste.

Patrick
--
Patrick Stadelmann
Avatar
blanc
Fra wrote:

J'essaie de réaliser avec le terminal une manip qui marchait il y a un
an (grâce à vos aides) :
<http://groups.google.fr/group/fr.comp.os.mac-os.x/browse_thread/thread/
3ea8bfb2a016beb5>



Deux autres solutions à ton problème de l'époque :

- Faire un dossier qui contient les alias des différents fichiers (et/ou
dossiers). Ensuite tu peux faire un diaporama soit avec l'économiseur
d'écran qui accepte sans problèmes d'utiliser des alias, soit avec un
logiciel tel que Graphic Converter (lequel accepte aussi de travailler
avec les alias). Perso j'utilise avec bonheur l'un (en mode aléatoire
pour avoir mes photos préférées sur l'écran quand je ne fait rien
d'autre) ou l'autre (pour montrer le diaporama dans l'ordre et au rythme
que je souhaite). Avantage de cette solution : les alias ne prennent pas
beaucoup de place. Inconvénient : avec certains logiciels, les alias ne
marchent pas.

- l'autre solution est similaire, mais au lieu d'alias j'utilise des
liens physiques. L'intérêt est que ça ne prend vraiment pas de place :
chaque image est stockée une seule fois, mais il y a ainsi plusieurs
liens vers cette image. C'est-à-dire quelle est visible dans le dossier
d'origine ET dans mon dossier de diaporama. En fait le fichier
proprement dit n'est pas plus à un endroit qu'à l'autre. Attention : si
on modifie une image, elle est modifiée aux deux endroits.
Avantage des liens physiques sur les alias : ça marche toujours.
L'inconvénient est que pour faire des liens physiques il faut utiliser
le Terminal ou tout au moins un script. Je suis en train de terminer la
mise au point d'un tel script, mais il commence à devenir un peu usine à
gaz... Je vais voir si je peux en faire une version simplifiée...

Dans combien de dossiers différents as-tu tes images ?

--
JiPaul.
/ /--/--// Jean-Paul Blanc
|/| L | quelquepart en (somewhere in)
/|| = ||| FRANCE
Avatar
fra
Patrick Stadelmann wrote:

In article <1jh7ykh.lw3ich0nesqN%,
(Fra) wrote:

> Et là ça marche plus ! Est-ce le passage à Snow Leopard ?

Je ne pense pas.

> while read line; do mdfind -0 -onlyin '/Users/fra/Pictures/Photos'
> "kMDItemFSName == '$line.*'" | xargs -0 ; done <
> '/Users/fra/Desktop/liste.txt'

Spotlight trouve-t-il les fichiers lui ? La syntaxe utilisée ci-dessus
ne va trouver que les fichiers qui ont exactement le même nom que dans
la liste, liste qui ne doit pas contenir les extensions.



Y'a les extensions dans la liste, aussi ai-je essayé :
while read line; do mdfind -0 -onlyin '/Users/fra/Pictures/Photos'
"kMDItemFSName == '$line'" | xargs -0 ; done <
'/Users/fra/Desktop/liste.txt'

qui n'a pas davantage marché.

Si ça fonctionne avec Spotlight, indique le nom d'un fichier et l'entrée
correspondante dans la liste.



/Users/fra/Desktop/Claire/IMG_3662.jpg
IMG_3662.jpg dans la liste


--
Fra
Avatar
fra
JiPaul wrote:

Fra wrote:

> J'essaie de réaliser avec le terminal une manip qui marchait il y a un
> an (grâce à vos aides) :
> <http://groups.google.fr/group/fr.comp.os.mac-os.x/browse_thread/thread/
> 3ea8bfb2a016beb5>

Deux autres solutions à ton problème de l'époque :

- Faire un dossier qui contient les alias des différents fichiers (et/ou
dossiers). Ensuite tu peux faire un diaporama soit avec l'économiseur
d'écran qui accepte sans problèmes d'utiliser des alias, soit avec un
logiciel tel que Graphic Converter (lequel accepte aussi de travailler
avec les alias). Perso j'utilise avec bonheur l'un (en mode aléatoire
pour avoir mes photos préférées sur l'écran quand je ne fait rien
d'autre) ou l'autre (pour montrer le diaporama dans l'ordre et au rythme
que je souhaite). Avantage de cette solution : les alias ne prennent pas
beaucoup de place. Inconvénient : avec certains logiciels, les alias ne
marchent pas.

- l'autre solution est similaire, mais au lieu d'alias j'utilise des
liens physiques. L'intérêt est que ça ne prend vraiment pas de place :
chaque image est stockée une seule fois, mais il y a ainsi plusieurs
liens vers cette image. C'est-à-dire quelle est visible dans le dossier
d'origine ET dans mon dossier de diaporama. En fait le fichier
proprement dit n'est pas plus à un endroit qu'à l'autre. Attention : si
on modifie une image, elle est modifiée aux deux endroits.
Avantage des liens physiques sur les alias : ça marche toujours.
L'inconvénient est que pour faire des liens physiques il faut utiliser
le Terminal ou tout au moins un script. Je suis en train de terminer la
mise au point d'un tel script, mais il commence à devenir un peu usine à
gaz... Je vais voir si je peux en faire une version simplifiée...

Dans combien de dossiers différents as-tu tes images ?



La liste.txt provient de copies de fichiers image rassemblées dans un
dossier mais réduite en 800*600. Mon but est de retrouver tous les
originaux en haute résolution (dispatchés dans des dossiers) et d'en
rassembler des copies dans un nouveau dossier.
--
Fra
Avatar
Patrick Stadelmann
In article <1jh9k0g.1gjq99syyeowjN%,
(Fra) wrote:

Patrick Stadelmann wrote:

> In article <1jh7ykh.lw3ich0nesqN%,
> (Fra) wrote:
>
> > Et là ça marche plus ! Est-ce le passage à Snow Leopard ?
>
> Je ne pense pas.
>
> > while read line; do mdfind -0 -onlyin '/Users/fra/Pictures/Photos'
> > "kMDItemFSName == '$line.*'" | xargs -0 ; done <
> > '/Users/fra/Desktop/liste.txt'
>
> Spotlight trouve-t-il les fichiers lui ? La syntaxe utilisée ci-dessus
> ne va trouver que les fichiers qui ont exactement le même nom que dans
> la liste, liste qui ne doit pas contenir les extensions.

Y'a les extensions dans la liste, aussi ai-je essayé :
while read line; do mdfind -0 -onlyin '/Users/fra/Pictures/Photos'
"kMDItemFSName == '$line'" | xargs -0 ; done <
'/Users/fra/Desktop/liste.txt'

qui n'a pas davantage marché.

> Si ça fonctionne avec Spotlight, indique le nom d'un fichier et l'entrée
> correspondante dans la liste.

/Users/fra/Desktop/Claire/IMG_3662.jpg
IMG_3662.jpg dans la liste



Ce fichier n'est pas dans la dossier de recherche spécifié (via le
paramètre -only).

Ensuite, si c'est le nom avec l'extension qui est dans la liste, le
critère '$line.*' va devenir 'IMG_3662.jpg.*' ce qui ne fonctionnera
pas. Dans le cas où le nom complet est connu, le critère doit
effectivement être '$line'

Patrick
--
Patrick Stadelmann
Avatar
blanc
Fra wrote:

> Dans combien de dossiers différents as-tu tes images ?

La liste.txt provient de copies de fichiers image rassemblées dans un
dossier mais réduite en 800*600. Mon but est de retrouver tous les
originaux en haute résolution (dispatchés dans des dossiers) et d'en
rassembler des copies dans un nouveau dossier.



Oui, j'avais bien compris. Ma question était : en combien de dossiers (à
peu-près) sont-ils dispatchés ?

Et dans mes deux suggestions je te propose de remplacer les copies par
des alias ou par des liens. Les deux prennent moins de place que des
copies. Le script que je termine (qui marche pour des liens physique,
mais peut aussi fonctionner pour des liens symboliques, voire des alias
en l'adaptant un peu) permet de faire des màj des fichiers, mais
nécessite qu'on lui donne la liste des dossiers où sont les originaux en
HR. D'où ma question.
--
JiPaul.
/ /--/--// Jean-Paul Blanc
|/| L | quelquepart en (somewhere in)
/|| = ||| FRANCE
Avatar
fra
Patrick Stadelmann wrote:

> Y'a les extensions dans la liste, aussi ai-je essayé :
> while read line; do mdfind -0 -onlyin '/Users/fra/Pictures/Photos'
> "kMDItemFSName == '$line'" | xargs -0 ; done <
> '/Users/fra/Desktop/liste.txt'
>
> qui n'a pas davantage marché.
>
> > Si ça fonctionne avec Spotlight, indique le nom d'un fichier et l'entrée
> > correspondante dans la liste.
>
> /Users/fra/Desktop/Claire/IMG_3662.jpg
> IMG_3662.jpg dans la liste

Ce fichier n'est pas dans la dossier de recherche spécifié (via le
paramètre -only).



Oui, Oups. Y'a aussi : "/fra/Pictures/Photos/1 an Poupounette &
crémaillère - bis/IMG_3662.JPG" comme résultat possible.

Ensuite, si c'est le nom avec l'extension qui est dans la liste, le
critère '$line.*' va devenir 'IMG_3662.jpg.*' ce qui ne fonctionnera
pas. Dans le cas où le nom complet est connu, le critère doit
effectivement être '$line'



J'ai essayé aussi sans succés.
--
Fra
Avatar
fra
JiPaul wrote:

Fra wrote:

> > Dans combien de dossiers différents as-tu tes images ?
>
> La liste.txt provient de copies de fichiers image rassemblées dans un
> dossier mais réduite en 800*600. Mon but est de retrouver tous les
> originaux en haute résolution (dispatchés dans des dossiers) et d'en
> rassembler des copies dans un nouveau dossier.

Oui, j'avais bien compris. Ma question était : en combien de dossiers (à
peu-près) sont-ils dispatchés ?



Une douzaine.

Et dans mes deux suggestions je te propose de remplacer les copies par
des alias ou par des liens. Les deux prennent moins de place que des
copies. Le script que je termine (qui marche pour des liens physique,
mais peut aussi fonctionner pour des liens symboliques, voire des alias
en l'adaptant un peu) permet de faire des màj des fichiers, mais
nécessite qu'on lui donne la liste des dossiers où sont les originaux en
HR. D'où ma question.



Le dossier du dessus (le dossier photos) ne convient pas ?
--
Fra
Avatar
fra
Fra wrote:

Oui, Oups. Y'a aussi : "/fra/Pictures/Photos/1 an Poupounette &
crémaillère - bis/IMG_3662.JPG" comme résultat possible.



Je me demande si c'est pas un pb d'extension écrite en majuscule pour le
fichier et en miniscule dans la liste. Ca peut jouer ?
--
Fra
Avatar
fra
Fra wrote:

> Oui, Oups. Y'a aussi : "/fra/Pictures/Photos/1 an Poupounette &
> crémaillère - bis/IMG_3662.JPG" comme résultat possible.

Je me demande si c'est pas un pb d'extension écrite en majuscule pour le
fichier et en miniscule dans la liste. Ca peut jouer ?



J'ai viré les extensions dans la liste pour être sûr du coup. Pas mieux.

Ce qui est bizarre c'est que la commande s'arrête instantanément. Ca ne
prend aucun 'temps de recherche'.
--
Fra
1 2