Data e ora di scatto nel nome del file con Linux

Tornato dalle vacanze mi si è posto il problema di miscelare 1100 foto scattate con 5 fotocamere diverse.
Non riuscendo a trovare un sistema per ordinare i file secondo la data e ora di scatto ho realizzato uno script che legge il tag exif e crea un nuovo file con data e ora di scatto anteposte al nome originale.
Ho utilizzato exiv2 per estrarre i tag perchè opera sia sui tif che sui jpeg nella stessa maniera a differenza di altri programmi.
Ho scritto uno script per processare tutti i file della cartella da cui viene lanciato, è obbligatorio indicare una cartella di destinazione che verrà creata se non esistente. Di seguito riporto il listato, cliccando sul nome dello script è possibile anche scaricarlo, infatti il listato potrebbe essere fuorviante a causa dei ritorni a capo della pagina web.
Non sono un esperto per cui miglioramenti e suggerimenti sono ben accetti.

Anteponidatascatto
#!/bin/sh
echo “Anteponidatascatto 0.2 da http://pensieroprofondo.wordpress.com”
echo “Legge le date e le ore di scatto delle foto contenute in una cartella,”
echo “antepone tale informazioni ai nomi dei file e li copia nella cartella”
echo “specificata in fase di lancio. Nel sistema deve essere presente exiv2.”
echo “————–”
echo “Digitare la cartella di destinazione senza la / in fondo, se non esiste verrà creata:”
read cartella
if test -z $cartella
then echo “Non è stato digitato nulla … riprova!!!”
else
mkdir $cartella
echo “La cartella è $cartella”
# Selezione dei file
for filein in *.???
do
# Estrazione delle date di scatto e trasformazione in stringa numerica
datascatto=$(exiv2 -pt $filein |grep Exif.Photo.DateTimeDigitized |cut -c 61-80 |sed ‘s/://g’ |sed ‘s/ //g’)
#Premette la data scatto al nome del file
fileout=$(echo “$datascatto-$filein”)
echo “$filein –> $fileout”
# copia del file con il nuovo nome
cp -i $filein $cartella/$fileout
done
fi

2 thoughts on “Data e ora di scatto nel nome del file con Linux

  1. Oggi ho modificato il post e lo script. Nella versione originale del 21/07 avevo usato exifprobe, adesso sono passato a exiv2 che, a differenza del primo, produce output sempre uguali (con l’opzione -pt) indipendentemente dal tipo di foto (jpg o tif) ed indipendentemente dalla fotocamera usata.

Leave a Reply

Your email address will not be published. Required fields are marked *