Posts Tagged “jpeg”

Folgendes Script dient dazu etwas mehr Ordnung in die Fotosammlung zu bringen. Dazu nutzt es die EXIF Information Kameraausrichtung um die Bilder korrekt zu drehen und das Aufnahmedatum um dieses in den Dateinamen einzutragen. Dem Script wird dann noch übergeben, ob man die Originaldateien behalten möchte und welche Veranstaltung auf den Fotos ist.

Um das Script zu verwenden müssen die Programme exif und exiftran installiert sein und das Script im Ordner der Fotos liegen.

Achtung: Das Script dreht die Originalbilder immer, auch wenn ihr “keep” als Parameter verwendet habt.

#!/bin/bash
# Script fuer das automatische Drehen von Fotos sowie
# Hinzufuegen von Event und Datum
# Das Script muss im Ordner der Fotos liegen
# Benötigte Programme: exif, exiftran
# geschrieben von Kai Fitzer am 08.Juni 2011
 
# Paramater:
# 1 - Originale behalten ja/nein
# 2 - Event
# 3 - Dateiendung
 
# Dateiname: FotoNr_Event_Datum.Dateiendung
 
if [ -z "$1" ]
  then 
    echo "Usage: ./picture.sh {keep|delete} eventname fileextension"
    echo "Please choose if you want to delete or keep original files as first parameter"
  exit 1
else
  if [ "$1" = "keep" ]
    then CMD="cp"
  elif [ "$1" = "delete" ]
    then CMD="mv"
  else
    if [ -z "$2" ]
      then 
        echo "Usage: ./picture.sh {keep|delete} eventname fileextension"
        echo "Please give me an event name as second parameter"
      exit 1
    else
      if [ -z "$3" ] 
        then 
          echo "Usage: ./picture.sh {keep|delete} eventname fileextension"
	  echo "Please give me a file extension as third parameter"
        exit 1
      fi
    fi
  fi
fi
 
ID=1
for i in *.$3 ; do
  if [ "$ID" -lt 10 ] 
    then LONGID="000"$ID 
  elif [ "$ID" -lt 100 ] 
    then LONGID="00"$ID 
  elif [ "$ID" -lt 1000 ] 
    then LONGID="0"$ID 
  fi ;
  exiftran -ia $i ;
  DATE=$(exif $i --ifd 0 --tag 0x0132 | grep Value | cut -c 10-19 | tr ':' - ) ; 
  $($CMD $i $LONGID"_"$2"_"$DATE"."$3) ; 
  ID=`expr $ID + 1`;  
done	
exit 0

Ein typischer Aufruf sieht so aus:

./picture.sh delete "Party_bei_XYZ" JPG

Dieser Befehl wird alle JPG (Groß- und Kleinschreibung beachten) Dateien anpassen, wobei die Originaldateien verändert werden und dann wie folgt heißen:

  • 0001_Party_bei_XYZ_2011-02-13.JPG
  • 0002_Party_bei_XYZ_2011-02-13.JPG
  • 0003_Party_bei_XYZ_2011-02-13.JPG
  • 0361_Party_bei_XYZ_2011-02-14.JPG

Comments 1 Kommentar »

217232 Seiten angezeigt, 282 heute
91463 Besuche, 129 heute
FireStats icon Powered by FireStats