Name: | abgleichPhotosH1080 |
Typ: | bash |
benötigt: | convert (Teil von ImageMagick) |
Die Datei abgleichPhotosH1080 reduziert alle Bilder eines Verzeichnisses rekursiv auf
eine Höhe von 1080 px. Die Verzeichnisstruktur wird beibehalten. Das Ergebnis landet in einem
im Script fest angegebenen Ordner.
Es handelt sich um einen Abgleich, da vorhandene Dateien nicht überschrieben werden. Hat die
Ausgangsdatei eine geringere Höhe, so wird nicht konvertiert sondern kopiert.
Eine Gewähr auf korrekte Funktion wird nicht gegeben, sie sollten also noch ein Backup der Daten haben.
Das Script muss auf die lokalen Bedürfnisse angepasst werden
Der Quelltext:
hide
abgleichPhotosH1080
#!/bin/bash echo "Uebergabe eines Verzeichnisnamens, die Inhalte werden in 1080er Hoehe" echo "konvertiert und in /home/roemke/EigeneDateien/Bilder/photosH1080 abgelegt" newsize=1080 if [[ $# -lt 1 ]] then echo -n "Verzeichnis: " read verz else verz=$1 fi echo "Verzeichis: $verz" for i in $(find $verz -type f -iname "*jpg" | tr ' ' '\1') do file=$(echo $i | tr '\1' ' ') odir=${file%/*} ddir="/home/roemke/EigeneDateien/Bilder/photosH1080/"${file%/*} file=${file##*/} if [[ ! -d $ddir ]] then mkdir -p "$ddir" fi dfile=$ddir"/"$file ofile=$odir"/"$file if [[ ! -f $dfile ]] then hoehe=$(identify -format "%h" "$ofile") if [[ hoehe -lt newsize ]] then cp "$ofile" "$dfile" else convert -verbose -resize x$newsize "$ofile" "$dfile" fi fi done
Parsed using GeSHi 1.0.8.6