habe ein Script, das mir mittels convert Miniaturen von Digitalfotos in ein Unterverzeichnis schreibt und Dateinamen und -datum grafisch ins Bild schreibt. Nun möchte ich nicht Dateidatum u. -zeit reinschreiben, sondern die Erstellzeit aus den ausgelesenen EXIF-Daten des Digitalfotos.
Letztere kann ich auf der Konsole z.B. mit diesem Befehl ausgeben lassen:
Code: Alles auswählen
exif -t 'Datum und Uhrzeit' Dateiname | grep Value | uniq | sed 's/ Value: //'
Frage 1:
Wie kann ich das Datum so umformatieren, dass es der deutschen Notation entspricht?
Frage 2:
Wie kann ich obigen Befehl (nennen wir ihn ERSTELLZEIT) in mein lauffähiges Script integrieren, das derzeit nur Dateinamen und Dateidatum grafisch ergänzt?
Hier mein Script:
Code: Alles auswählen
#!/bin/bash
set -XV
basedir=.
datum=$(date -I +%x)
dat=$(date +%d.%m.%G_%H:%M)
subdir=$1
#subdir=$(date -I +%g%m%d-%H%M)$1
target=$basedir/$subdir
mkdir $target
mkdir $target/klein
cp *.jpg *.JPG $target
cd $target
for i in *.jpg *.JPG;
do
echo "process $i";
convert -size 448x448 -geometry 448x448 -fill "#bbddff" -draw "rectangle 0,0 125,8" -fill "#bbddff" -draw "rectangle 0,328 125,337" -font helvetica -pointsize 10 -fill black -draw "text 5,8 '$ERSTELLZEIT'" -font helvetica -pointsize 10 -fill black -draw "text 5,336 '$dat'" -mattecolor "#ffffff" -frame 6x6 -mattecolor "#0000ff" -frame 2x2 $i ./klein/$i;
done
Grüße,
Herb