Imprimez des valeurs de données d'image Exif spécifiques avec exiv2

Comment puis-je imprimer l'image Exif date avec un outil comme exiv2?

Mon but est d'écrire l'image année et mois en variables séparées. Dois-je vraiment parsingr la sortie avec regex ou existe-t-il une alternative à quelque chose comme ceci:

exiv2 DSC_01234.NEF -ps | grep 'Image timestamp' | ...regex to parse the date 

Vous pouvez utiliser l' -g pour afficher uniquement la propriété qui vous intéresse, et -Pv pour imprimer la valeur sans fluff. Le résultat est facile à parsingr.

 IFS=': ' set $(exiv2 -g Exif.Image.DateTime -Pv DSC_01234.NEF) unset IFS year=$1 month=$2 day=$3 hour=$4 minute=$5 second=$6 

Il peut également être utile de modifier la date du file pour qu'il corresponde à la date de l'image: exiv2 -T DSC_01234.NEF .

 OIFS=$IFS; IFS=': ' set -- $(exiv2 -g Exif.Image.DateTime -Pv DSC_01234.NEF) IFS=$OIFS; year=$1; month=$2; day=$3; hour=$4; minute=$5; second=$6; echo "$year:$month:$day $hour:$minute:$second"