Stampa valori specifici di dati immagine Exif con exiv2


8

Come posso stampare la data Exif dell'immagine con uno strumento come exiv2?

Il mio obiettivo è scrivere l'anno e il mese dell'immagine in variabili separate. Devo davvero analizzare l'output con regex o esiste un'alternativa a qualcosa del genere:

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

Risposte:


7

Puoi usare il -gflag per produrre solo la proprietà che ti interessa e -Pvper stampare il valore senza lanugine circostante. Il risultato è facile da analizzare.

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

Può anche essere utile per cambiare la data del file in modo che corrisponda alla data di immagine: exiv2 -T DSC_01234.NEF.


È perfetto. Sto cercando di migliorare le mie conoscenze bash mentre scrivo uno script che crea cartelle basate sulla data per le immagini e rinomina i file in modo appropriato come hai menzionato.
apparat

0
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"
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.