recherche fichiers ?

Démarré par vernhet, Mai 27, 2012, 12:06:46

« précédent - suivant »

vernhet

le problème à résoudre:

Sur mon DD d'archives photos sont mélangés à différents niveaux dans l'arborescence des fichiers jpeg bruts  et des fichiers correspondants à des images postraitées que je souhaiterais retrouver immédiatement pour les copier sur un autre disque.Sachant que le nom des fichiers bruts est celui généré par l'appareil photo et  se compose au maximum de 8 caractères plus le point et l'extension (exemple :_F0H9892.JPG),  tandis que le nom des fichiers postraités est forcément plus long puisque j'intercale le nom du musicien entre le numéro d'origine et le . jpeg après le postraitement EXEMPLE: _F0H9892THIÉFAINE H-F.jpg, je voudrais savoir s'il existe un moyen de scanner tout un disque avec comme critère de recherche le NOMBRE de caractères que comporte chaque fichier photo. J'ai pas l'impression que Spotlight sache le faire ou alors , j'ai pas trouvé.
Ou sinon un utilitaire tiers ?
Toutes les suggestions seraient bienvenues

LSCC

Bonsoir,
Manifestement :
- tu cherches à récupérer tous les jpg dans un DD,
- tu ne désires que ceux qui se terminent par un chiffre et non avec un nom inséré entre le chiffre et le ".jpg".

Machinalement, ce qui me vient à l'esprit :
- tu effectues une recherche (raccourci "cmd"+ "F"),
- tu cliques sur le volume désiré sur lequel tu veux effectuer la recherche,
- dans le critère de recherche (dans la fenêtre en haut à droite), tu tapes ".jpg" -> ça te permet d'avoir tous les jpg du volume,
- tu sélectionnes le critère "nom" et "se termine par" et tu indiques "0".

=> là tu obtiens un résultat dans lequel tu peux extraire ce que tu recherches.

Ap, tu recommences la requête avec le champ "1".

Et ansi de suite jusqu'à "9".

A moins de passer par Automator (afin de paramétrer des règles de "ou" -> "se terminante par 0" ou "se terminant par "1", etc.) je ne vois pas comment procéder.

La fonction recherche n'ayant que la fonction logique "et" dans ses requête (le cumul de paramètre).

Ainsi de suite, afin d'avoir les champs

vernhet

merci de t'être penché sur la question. Je ne suis pas sûr d'avoir tout compris , mais de toute façon, il me semble que je n'ai pas été non plus assez clair dans l'exposé de ce que je recherche: Je cherche à "faire remonter" ,toutes les images postraitées , en utilisant comme critère de recherche le fait que leur nom comporte obligatoirement plus de 8 signes en sus du . et de l'extension JPG.

LSCC

Citation de: vernhet le Mai 28, 2012, 01:43:36
merci de t'être penché sur la question. Je ne suis pas sûr d'avoir tout compris , mais de toute façon, il me semble que je n'ai pas été non plus assez clair dans l'exposé de ce que je recherche: Je cherche à "faire remonter" ,toutes les images postraitées , en utilisant comme critère de recherche le fait que leur nom comporte obligatoirement plus de 8 signes en sus du . et de l'extension JPG.
J'avais bien compris ta question.
Pour cela, je pense qu'Automator ou les lignes de commandes dans Terminal pourraient t'aider.

Donc, ne connaissant ni l'une ni l'autre, si j'étais confronté à ton pb, la seule solution rapide semble :
- d'isoler les jpg (via la requête ".jpg"),
- puis d'en extraire ceux qui finissent par un chiffre.
Ainsi déterminé, tu peux dès lors les déplacer.

Mettre sa fenêtre en mode Cover flow facilitera encore plus le travail.

En espérant t'avoir été plus clair

alpseb

pas moyen avec automator, il sais rien faire de plus que ce que sait faire le finder et spotlight

par contre avec le terminal : find /Users/alpseb/Desktop/dossier -name '*????????.jpg

ca va tout te lister.
à la place de  /Users/alpseb/Desktop/dossier  tu met le nom de dossier que tu veux
le nombre de ?? c'est le nombre de caractère minimum de ton fichier...

ça fais ce que tu veux mais ça va juste te les lister, je sais pas comment dire que tout ça s'affiche dans le finder...
je cherche...


vernhet

[quote author=
uis une buse ..je comprends rien
notamment pas cette phrase: "à la place de  /Users/alpseb/Desktop/dossier  tu met le nom de dossier que tu veux"
le nom de dossier que je veux, c'est celui sur lequel doit s'effectuer la recherche??? Mais alors, le problème, c'est pas un dossier sur quoi j'ai ma recherche à faire, c'est sur tout un volume de 2 TO avec une arborescence mettant en jeu au minimum deux niveaux de sous-dossiers...
link=topic=156020.msg3116867#msg3116867 date=1338197212]
pas moyen avec automator, il sais rien faire de plus que ce que sait faire le finder et spotlight

par contre avec le terminal : find /Users/alpseb/Desktop/dossier -name '*????????.jpg

ca va tout te lister.
à la place de  /Users/alpseb/Desktop/dossier  tu met le nom de dossier que tu veux
le nombre de ?? c'est le nombre de caractère minimum de ton fichier...

ça fais ce que tu veux mais ça va juste te les lister, je sais pas comment dire que tout ça s'affiche dans le finder...
je cherche...
[/quote]

merci, Alpseb
Va pour le Terminal
mais
suis une buse ..je comprends rien
notamment pas cette phrase: "à la place de  /Users/alpseb/Desktop/dossier  tu met le nom de dossier que tu veux"
mais  "dossier", c'est celui sur lequel doit s'effectuer la recherche??? Mais alors, le problème, c'est PAS un dossier sur quoi j'ai ma recherche à faire, c'est sur tout un volume de 2 TO avec une arborescence mettant en jeu 2 ou 3 niveaux de sous-dossiers ...

alpseb

Françis, quand je dis "dossier" ça peut être n'importe quel dossier, comme la racine de ton disque dur !
par exemple, mon dossier documents, dans lequel j'ai tous mes fichiers persos est ici :

/Users/alpseb/Documents

chez toi ça doit être un truc du genre :

/Users/francis/photos

Pour la commande, je la ré-écrit

find /Users/alpseb/Desktop/dossier -name '*? ? ? ? ? ? ? ? .jpg

(il faut pas mettre d'espaces entre les ? mais si j'en met pas, le forum me met des smilley !

je sais pas si Pascal saurait faire par exemple un apple script pour afficher tout ça dans le finder !


makpro

1) tu ouvres le terminal
2) tu tapes
Citation
cd

3) tu drag and drop sur le terminal depuis le finder le dossier qui contient toutes tes photos. Ca va te mettre le nom réel du dossier à lka suite de la commande cd et tu appui sur la touche "Entrée"

4) tu tapes la  commande suivante. Ca va t'afficher tous les fichiers qui se terminent par .JPG et qui ont un _ dans le nom (en espérant que tu nous a mis le bon nom dans ton premier message

Citationfind . -type f -name '*_*.JPG'

vernhet

Citation de: makpro le Mai 30, 2012, 20:46:33
1) tu ouvres le terminal
2) tu tapes
3) tu drag and drop sur le terminal depuis le finder le dossier qui contient toutes tes photos. Ca va te mettre le nom réel du dossier à lka suite de la commande cd et tu appui sur la touche "Entrée"

4) tu tapes la  commande suivante. Ca va t'afficher tous les fichiers qui se terminent par .JPG et qui ont un _ dans le nom (en espérant que tu nous a mis le bon nom dans ton premier message

là, par contre , je vois pas comment ça peut répondre à mon pb qui est de faire une recherche avec comme critère le nombre de caractères que comporte chaque fichier jpeg... ???

makpro

Bjr,

le format que tu nous a donné était que le fichier se terminait par *_.......JPG

Pour faire une recherche il faut nous donner la syntaxe exacte de ce que tu cherches si tu veux que l'on t'aide.

Exemple: les fichiers traités possèdent ils toujours un espace dans le nom ?
quelle lettre apparaissent après le signe _
quelle est la forme de l'extension ? Majuscules/minuscules

etc...

Donc svp soit plus précis. L'informatique ne souffre d'aucune incertitude sinon tu trouveras ce que tu ne veut pas chercher.

makpro

Voici une autre commande:

Citationfind . -type f -name '*.JPG' | grep -v -E '*_[a-zA-Z0-9]{8}\.JPG|*_[a-zA-Z0-9]{7}\.JPG|*_[a-zA-Z0-9]{6}\.JPG|*_[a-zA-Z0-9]{5}\.JPG|*_[a-zA-Z0-9]{4}\.JPG|*_[a-zA-Z0-9]{3}\.JPG|*_[a-zA-Z0-9]{2}\.JPG|*_[a-zA-Z0-9]{1}\.JPG'

Cette commande est a taper sur une seule ligne. Que fait elle:
1) elle cherche TOUS les fichiers de ton répertoire courant qui se termine par .JPG
2) elle filtre (la commande grep qui suit) les fichiers qui:
- contient n'importe quelle caractères au début et en nombre indéfini
- suivi de "_"
- lequel signe "_" est suivi de 1 à 8 charactères alpha numériques
- eux même suivi de .JPG
Donc tu auras tous les fichiers qui ont été post-traités.

Si cette extension .JPG n'est pas la bonne, replace .JPG dans TOUTE la commande par .jpg par exemple.

Si cette commande fonctionne je te donnerais le reste pour faire ta copie de fichier

Bon courage !

lalootre

Hello,

Il me semble que "mdfind" permet d'afficher les résultats dans une fenêtre finder, contrairement à "find".

Sinon spotlight en cherchant tous les fichiers dont le nom contient "thiéfaine" par exemple, ça affiche directement dans le finder. Evidémment c'est à recommencer pour chaque musicien.

Mais il y a peut-être d'autre dénominateurs communs plus simples. Par exemple, si tu exportais tes jpegs traités toujours à la même résolution, spotlight peut chercher ça. Il peut aussi accéder à toutes les images traitées par Aperture. Ou chercher des images selon des mots-clés attribués.

alpseb

j'arrive à rien avec mdfind....

ma commande plus haut marcher des bien avec la demande de francis de sortir un fichier de plus de 8 Caracteres... je ne sais juste pas l'arracher dans le finder

makpro

redirige la sortie de la commande dans un fichier:

Citationfind /Users/alpseb/Desktop/dossier -name '*HuhHuh??.jpg > $HOME/resultat_de_la_recherche.txt

....et utilise Textedit pour voir le contenu. le fichier se trouvera dans la petite maison de l'utilisateur

lalootre

Ouais non mdfind ne change rien en fait.

Une fois le lisiting sous forme de .txt, il en fait quoi, makro ?

makpro

Citation de: lalootre le Mai 31, 2012, 14:20:46
Ouais non mdfind ne change rien en fait.

Une fois le lisiting sous forme de .txt, il en fait quoi, makro ?

Il en fait quoi ? j'attends qu'il me dise déjà si ca sélectionne bien ses fichiers. Ensuite je lui donne le reste de la commande pour déplacer ses fichiers sur un autre disque en fonction de ce qu'il va demander.

mdfind n'est pas la solution. C'est une commande qui liste en temps réel des fichiers. Rien à voir avec l'affichage dans le finder

alpseb

ça marche oui, ça me liste les documents dans un fichier

makpro

Attendons de savoir ce que veux faire vernhet.

alpseb

a priori, il veux les afficher dans un "smart folder" dans le finder pour les graver, ou les utiliser !

vernhet

merci à tous .
Je vais essayer de résumer/formuler autrement/préciser mon  problème :  Dans l'idéal, pour pouvoir effectuer la recherche  de fichiers postraités disséminés dans tout un volume , dans différents dossiers -sous-dossiers  etc , le seul critère qui me semble pertinent et susceptible de filtrer toutes les fichiers concernés est la longueur du nom de fichier.
En effet dans mon organisation, tout fichier photo postraité se présente renommé ainsi : le numéro d'origine généré par le boîtier (par exemple : _D318043.JPG dont la version postraitée  sera nommée : _D318043 WINSTON CHARLIE.jpg.)
Donc tout fichier jpeg dont le nom comporte plus de 12 caractères point et extension compris est forcément un fichier renommé donc postraité : ce sont ces fichiers que je veux filtrer.
Le but poursuivi est de faire apparaître tous ces fichiers postraités dans le finder, de façon à les copier par glissé-déposer vers un autre disque externe. 

makpro

Ok. Alors essaye la dernière commande que je t'ai donné. Et regarde si ca sélectionne bien TOUS tes fichiers post traités. Si c'est OK je te donne un script complet qui te déplacera tes fichiers
Citation
find . -type f -name '*.jpg' | grep -v -E '*_[a-zA-Z0-9]{8}\.jpg|*_[a-zA-Z0-9]{7}\.jpg|*_[a-zA-Z0-9]{6}\.jpg|*_[a-zA-Z0-9]{5}\.jpg|*_[a-zA-Z0-9]{4}\.jpg|*_[a-zA-Z0-9]{3}\.jpg|*_[a-zA-Z0-9]{2}\.jpg|*_[a-zA-Z0-9]{1}\.jpg' > $HOME/les_fichiers_post_traites.txt

Avec textedit ouvre le fichier les_fichiers_post_traites.txt qui se trouve dans ta petite maison (si tu le trouve pas cherche le par spotlight). Et vérifit que ce soit les bons fichiers

vernhet

mais qu'est ce je fais où dans quoi avec la séquence de commande qui commence par find ?
il me faut vraiment un pas à pas !

Je suis pas un aigle comme  photographe , mais une quasi buse en informatique  ;D

makpro

1) tu ouvres le terminal
2) tu tapes
Citationcd

Le cd doit être suivi par un espace MAIS sans taper la touche Entrée

3) tu drag and drop sur le terminal depuis le finder l'icone du dossier qui contient toutes tes photos. Ca va te mettre le nom réel du dossier à la suite de la commande cd et tu appui sur la touche "Entrée"

4) tu copie/colle la  commande suivante. Ca va t'afficher tous les fichiers post-traités

Citationfind . -type f -name '*.jpg' | grep -v -E '*_[a-zA-Z0-9]{8}\.jpg|*_[a-zA-Z0-9]{7}\.jpg|*_[a-zA-Z0-9]{6}\.jpg|*_[a-zA-Z0-9]{5}\.jpg|*_[a-zA-Z0-9]{4}\.jpg|*_[a-zA-Z0-9]{3}\.jpg|*_[a-zA-Z0-9]{2}\.jpg|*_[a-zA-Z0-9]{1}\.jpg' > $HOME/les_fichiers_post_traites.txt

5) la liste des fichiers post-traités va être écrite dans le fichier les_fichiers_post_traites.txt qui se trouve dans ta petite maison. Si tu ne le trouve pas recherche le par Spotlight. Il faut l'ouvrir avec Textedit

6) vérifit que ce soit les bon fichiers. Si c'est OK je te donnerais la suite de la commande.

vernhet

Citation de: makpro le Juin 01, 2012, 13:53:43
1) tu ouvres le terminal
2) tu tapes
Le cd doit être suivi par un espace MAIS sans taper la touche Entrée

3) tu drag and drop sur le terminal depuis le finder l'icone du dossier qui contient toutes tes photos. Ca va te mettre le nom réel du dossier à la suite de la commande cd et tu appui sur la touche "Entrée"

4) tu copie/colle la  commande suivante. Ca va t'afficher tous les fichiers post-traités

5) la liste des fichiers post-traités va être écrite dans le fichier les_fichiers_post_traites.txt qui se trouve dans ta petite maison. Si tu ne le trouve pas recherche le par Spotlight. Il faut l'ouvrir avec Textedit

6) vérifit que ce soit les bon fichiers. Si c'est OK je te donnerais la suite de la commande.

Oki merci
J'ai fait mais le fichier text edit fait apparaître une minuscule poignée de photos et...plein d'autres choses...
voir ce fichier text : http://dl.free.fr/ihTDNFDny

makpro

#24
j'arrive pas a télécharger ton fichier depuis free

Ok j'y suis arrivé. Ton erreur: apres la commande cd tu n'as pas mis le dossier qui contient tes jpeg.

En fait j'ai l'impression que la commande parcours TOUT le disque. As tu un dossier ou il n'y a que tes photos ?

par contre il y a un dossier qui contient des photos avec des noms de post-traitées:

./Library/Mail Downloads/selection _def/

Est ce dossier qu'il faut parcourir ?