Skript zum
– Durchsuchen des aktuellen Verzeichnisses nach allen Dateien
– Auslesen der Attribute
– ggf. Korrektur bei fehlenden Attributen
– Ausgabe in eine CSV-Datei
#cd /mnt/exifer/
TOTAL=`find -type f|wc -l`
function exifer() {
PIC=$1
BASIC=`exiftool -csv -Sourcefile -Directory -Filetype -Make -Model -Artist -DateTimeOriginal -CreateDate -ShutterCount $PIC|tail -n1`
ARG=`echo $BASIC|sed s/"[^\,]"//g|awk '{ print length; }'`
((ARG++))
if [ $ARG -eq 9 ]
then
FIL=echo $BASIC|cut -d"," -f1|sed s#"^.*/"##g
echo $FIL,$BASIC >> $CSVFILE
return
else
SRC=`echo $BASIC|cut -d"," -f1`
FIL=`echo $SRC|sed s#"^.*/"##g`
DIR=`echo $BASIC|cut -d"," -f2`
TYP=`echo $BASIC|cut -d"," -f3`
MAK=`echo $BASIC|cut -d"," -f4`
MOD=`echo $BASIC|cut -d"," -f5`
ART=`echo $BASIC|cut -d"," -f6`
X=`echo ${ART:0:1}`
if [ "$X" = "1" -o "$X" = "2" ]
then
ART="Unbekannt"
DTO=`echo $BASIC|cut -d"," -f6`
CRD=`echo $BASIC|cut -d"," -f7`
SHC=`echo $BASIC|cut -d"," -f8`
if [ "$SHC" = "" ]
then
SHC=999999
fi
else
DTO=`echo $BASIC|cut -d"," -f7`
CRD=`echo $BASIC|cut -d"," -f8`
SHC=`echo $BASIC|cut -d"," -f9`
if [ "$SHC" = "" ]
then
SHC=999999
fi
fi
echo "i$FIL,$SRC,$DIR,$TYP,$MAK,$MOD,$ART,$DTO,$CRD,$SHC" >> $CSVFILE
fi
}
for PHOTO in `find -type f|sed s#"^\."#$(pwd)#g`
do
echo -e -n "Photo $COUNT / $TOTAL \r"
if [ $COUNT -eq 1 ]
then
echo "Filename,Sourcefile,Directory,Filetype,Make,Model,Artist,DateTimeOriginal,CreateDate,ShutterCount" > $CSVFILE
fi
exifer "$PHOTO"
((COUNT++))
done
#sed s#"^\."#"`pwd`"#g $CSVFILE -i
IFS=$OLDIFS
echo „load data local infile ‚$CSVFILE‘ into table exif2csv_unique fields terminated by ‚,‘ lines terminated by ‚\n‘ ignore 1 rows;“|mysql -h databerry -u exifer -p€xif€r -D fotos
Skript exif2csv.sh
von
Schlagwörter:
Kommentare
Ein Kommentar zu „Skript exif2csv.sh“
[…] Skript exif2csv.sh […]