Benutzer-Werkzeuge

Webseiten-Werkzeuge


scytheman:zeugs:scripte:exif.sh

↑ zurück

exif.sh

Beschreibung

Dieses Script dient zum Umbenennen von JPGs anhand des Datums der Exif-Tags. Das ist vor allem dann nützlich, wenn vom selben Ereignis Bilder von unterschiedlichen Personen vorliegen, und diese zeitlich geordnet werden sollen.

Das Script ermittelt das Erstellungsdatum, wandelt es in Sekunden seit 1970-01-01 00:00:00 UTC um, und addiert oder subtrahiert auf Wunsch eine beliebige Zahl an Stunden (falls jemand wieder Sommer- mit Winterzeit verwechselt hat :)). Außerdem kann noch ein Suffix festgelegt werden, damit man die Bilder nach ihrer Umbenennung noch dem Autor zuordnen kann.

Benötigt

Code

#!/bin/sh
 
test -e /usr/bin/exif || exit 1
 
set -e
 
 
echo -n "time shift in hours (without leading '+', default 0): "
read shift
if [ "$shift" == "" ]
then
        shift="0"
fi
 
echo -n "filename suffix (leave blank for none): "
read suffix
 
 
for i in $(ls *.[jJ][pP][gG])
do
        # date from exif tags, convert first two ':' to '-'
        # e.g. 2006:11:25 02:07:27  ->  2006-11-25 02:07:27
        exifdate=$(exif $i | grep Date | head -1 | cut -d '|' -f2 | sed 's/:/-/' | sed 's/:/-/')
        # convert date to seconds since 1970-01-01 00:00:00 UTC
        date=$(date -d "$exifdate" "+%s")
        # add/subtract time shift
        name=$(echo "$date + ($shift * 60 * 60)" | bc)
        # rename image to 'SecondsSuffix.jpg'
        mv -v "$i" "$name$suffix.jpg"
done

Anmerkung

Vor dem Umbenennen sollte ggf. ein Backup der Bilder erstellt werden.

Beispiel

$ ~/scripts/exif.sh
time shift in hours (without leading '+', default 0): -1
filename suffix (leave blank for none): _bert
`100_0290.jpg' -> `1164395565_bert.jpg'
`100_0291.jpg' -> `1164395586_bert.jpg'
`100_0292.jpg' -> `1164395591_bert.jpg'
`100_0293.jpg' -> `1164395616_bert.jpg'
`100_0294.jpg' -> `1164395659_bert.jpg'
`100_0295.jpg' -> `1164395723_bert.jpg'
`100_0296.jpg' -> `1164396038_bert.jpg'
`100_0297.jpg' -> `1164396585_bert.jpg'
scytheman/zeugs/scripte/exif.sh.txt · Zuletzt geändert: 2014/03/01 17:13 (Externe Bearbeitung)