DavX/Code/Vorschau.sh
aus Degupedia, der freien Wissensdatenbank
vorschau.sh ist ein Shellscript für die Bash, welches Vorschaubilder aus JPEG-Dateien erstellt. Es nutzt dabei Notify-Send, um auf grafischen Desktops wie Gnome, LXDE oder Xfce eine Benachrichtigung zu versenden, wenn alle Dateien umbenannt wurden.
Datei vorschau_v3.sh
Version: 3.0
#!/bin/bash IMGSIZE="480" IMGDIR="img$IMGSIZE" IMGSIZE=${IMGSIZE}x${IMGSIZE} LOWERCASE=1 if [ ! -d $IMGDIR ] then mkdir -p $IMGDIR fi if [ $LOWERCASE -gt 0 ] then for file in *.JPG do mv $file ${file%.JPG}.jpg done fi for i in *.jpg do convert -size $IMGSIZE $i -resize $IMGSIZE -auto-orient -quality 65 +profile "*" $IMGDIR/$i done PDIR=`pwd` notify-send -t 1000 'Bilder verkleinern' "Die Bilder wurden verkleinert, sie befinden sich unter $PDIR/$IMGDIR" exit 0;
Vorschau mit Fortschrittanzeige
#!/bin/bash IMGSIZE="1200" IMGDIR="img$IMGSIZE" IMGSIZE=${IMGSIZE}x${IMGSIZE} LOWERCASE=0 # Thumbnailer mit Fortschrittanzeige # Neue Funktionen # - Fortschrittanzeige # - Abbrechen mit Ctrl + C if [ ! -d $IMGDIR ] then mkdir -p $IMGDIR fi if [ $LOWERCASE -gt 0 ] then for file in *.JPG do mv $file ${file%.JPG}.jpg done fi echo "Calculate Progress ..." num=$(ls -1q *.jpg | wc -l) count=0 for i in *.jpg do count=$((count+1)) tput cuu 1 && tput el echo "Progress: $count of $num [ $i ]" convert -size $IMGSIZE $i -resize $IMGSIZE -auto-orient -quality 65 +profile "*" $IMGDIR/$i || break done PDIR=`pwd` notify-send -t 3000 'Bilder verkleinern' "Die Bilder wurden verkleinert, sie befinden sich unter $PDIR/$IMGDIR" #terminal-notifier -message "Die Bilder wurden verkleinert, sie befinden sich unter $PDIR/$IMGDIR" exit 0;
Was tut die Fortschrittsanzeige? Sie zeigt an, wieviele Bilder bereits bearbeitet wurden und den Dateinamen des gerade verarbeiteten Bildes. Als zusätzlicher Komfort lässt sich das Skript bzw. die Bearbeitsungsschleife mit der Tastenkombination Ctrl. + C abbrechen. Dadurch wird die Benutzung bei grossen Datenmengen komfortabler.
Anpassungen an Mac
Damit die Skripte unter Mac laufen, ist es notwendig einerseits alle Tools zu installieren und andererseits (falls erwünscht) einen Benachrichtigungsdienst für Mac zu installieren. Dazu eignet sich beispielsweise der terminal-notifier, welcher sich bequem über Homebrew installieren lässt. Wichtig ist, dass die Skripte vor der Nutzung angepasst werden. Für eine einfachere Übersicht ist es sinnvoll, den Skripten den Suffix _mac zu geben, damit man weiss, welche Skripte angepasst wurden.
- Homebrew (brew) installieren
- Imagemagick installieren
- terminal-notifier installieren
- Skript anpassen
Ältere Versionen
Version 1.0
Datei vorschau.sh
#!/bin/bash mkdir -p _res480 for i in *.jpg do convert -size 480x480 $i -resize 480x480 +profile "*" _res480/$i done
Version 1.1
Verbesserte Version von vorschau.sh
#!/bin/bash IMGDIR="img640" if [ ! -d $IMGDIR ] then mkdir -p $IMGDIR fi for i in *.jpg do convert -size 480x480 $i -resize 640x640 -auto-orient +profile "*" $IMGDIR/$i done PDIR=`pwd` notify-send -t 1000 'Bilder verkleinern' "Die Bilder wurden verkleinert, sie befinden sich unter $PDIR/$IMGDIR" exit 0;
Die verbesserte Version verkleinert Bilder auf 640 px die längere Seite und nutzt "notify-send" um am Ende das System zu informieren, dass die Bilder verkleinert wurden.
Version 2.0
Datei vorschau_v2.sh
#!/bin/bash IMGDIR="img1200" if [ ! -d $IMGDIR ] then mkdir -p $IMGDIR fi for i in *.jpg do convert -size 1200x1200 $i -resize 1200x1200 -auto-orient -quality 65 +profile "*" $IMGDIR/$i done PDIR=`pwd` notify-send -t 1000 'Bilder verkleinern' "Die Bilder wurden verkleinert, sie befinden sich unter $PDIR/$IMGDIR" exit 0;
In der Version 2 werden die Bilder automatisch gedreht, wenn die Exifdaten entsprechende Informationen enthalten und die Bildqualität wird auf 65% gesetzt (mit -quality 65).