#1 Le 18/03/2016, à 15:35
- patrick L
classer selon exifs via exiftool fichier xmp joint [resolu]
bonjour à vous tous...
j'utilise souvent darktable et superbe logiciel. Mais j'ai un petit soucis de code bash. Je vais essayer le calme et la simplicité.
alors pour résumer l'idée que j'ai ...
j'ai un fichier de capture d'image et ensuite suite à un traitement via darktable j'ai un fichier joint avec l'extension .xmp qui se mets à coté apres le traitement.
alors via exiftool envoie le fichier image dans un dossier et renome selon les infos exifs , pour moi la date original.
mon soucis c'est que j'ai un fichier .xmp lié au traitement de l'image capturée en direct et ensuite je fais des retouches, ca crée un fichier capture et ensuite la photo reste dans l'appareil. donc je classe les captures selon la date mais le fichier des retouches reste en place.
alors je voudrais que exiftool me dise quelque chose comme
deplacement du fichier 2016-03-10_capture_05844.NEF deplacé dans /media/externe/le_classement_selon_la_date/img_renomme_selon_date_et_heure.
Dernière modification par patrick L (Le 29/03/2016, à 23:51)
Hors ligne
#2 Le 18/03/2016, à 23:18
- patrick L
Re : classer selon exifs via exiftool fichier xmp joint [resolu]
alors je pense avoir trouvé... ensuite faut améliorer le concept... et s'adapter aux retours de exiftools.
je lance la commande pour classer , je préfere copier les fichiers...
exiftool -v2 -o . -'filename<datetimeoriginal' -d '%Y/%m%B/%Y-%m-%d/img_%Y-%m%B-%d_%H-%M-%S_%A.%%e' "2016-03-17_capture job-0018.NEF" > trace 2> erreur
j'envoie dans erreur les messages d'erreur , surtout pour le cas ou le fichier renommé et déplacé soit dejà présent ce qui provoque aucun message à l'ecran mais les deux fichiers se retrouvent dans les erreurs.
je vais faire pour la trace normale...
Setting new values from 2016-03-17_capture job-0019.NEF
Writing File:FileName
Writing File:FileName
'2016-03-17_capture job-0019.NEF' --> '2016/03mars/2016-03-17/img_2016-03mars-17_18-37-34_jeudi.NEF'
Rewriting 2016-03-17_capture job-0019.NEF...
Nothing changed in 2016-03-17_capture job-0019.NEF
1 image files copied
j'utilise la ligne suivante
'2016-03-17_capture job-0019.NEF' --> '2016/03mars/2016-03-17/img_2016-03mars-17_18-37-34_jeudi.NEF'
pour extraire les fichiers destination et le fichier initial et c'est via la commande sed.
cat trace | grep "^'$f'" | sed -r "s/^'($f)' --> '(.*)'.*$/$f#\2/g" | cut -d "#" -f 1 # ou -f 2 pour avoir la destination...
ensuite j'ai la destination et donc je cherche dans le fichier .xmp joint le nom de fichier de depart pour le remplacer par la destination.
et ensuite je copie le fichier xmp dans le dossier dirname du fichier image copié.
dest=$(cat trace | grep "^'$f'" | sed -r "s/^'($f)' --> '(.*)'.*$/$f#\2/g" | cut -d "#" -f 2)
g=$(basename "$dest") # endroit ou le fichier est copié ou déplacé...
echo "fichier destination : ${g}.xmp"
cat "$f.xmp" | grep "$f" | sed -r "s/$f/$g/g" # pour le moment j'affiche la modification du fichier xmp pour envoyer la commande.
Dernière modification par patrick L (Le 18/03/2016, à 23:24)
Hors ligne
#3 Le 30/03/2016, à 00:05
- patrick L
Re : classer selon exifs via exiftool fichier xmp joint [resolu]
je viens de mettre en résolu... de la maniere énoncée ci dessus.
ca serait bien que exiftool écrive dans un fichier de maniere formattée genre <fichier Depart> : <fichier Arrivee> dans un fichier...
pour l'instant je récupere des messages d'erreurs que je reformate via sed .... si la sortie change au revoir le fonctionnement de mon script....
Hors ligne