knechts skript
von Anonymous- SNIPPET_TEXT:
-
- #!/bin/sh
- ####################################
- # Autor: Sebastian MÌller
- # EMail: human_waste@gmx.de
- # WWW: https://knecht.homelinux.net
- # Datum: 11.01.2005
- # Zweck: Konvertieren aller JPG Bilder eines Ordners auf eine bestimme maximale KantenlÀnge in Pixeln,
- # Ausgabe der fertigen Dateien im Unterordner output/ im Quellverzeichnisses
- # Syntax: jpegkonv Quellordner
- # Version: 1.0
- # AbhÀngigkeiten: Packet ImageMagick und libmagick6 mÌßen installiert sein
- ####################################
- #Parameter ÌberprÌfen
- if [ "$1" = "" ] ; then
- echo
- echo "Falsche Eingabe:"
- echo "jpegkonv [Quellordner] "
- echo
- exit 0
- fi
- which mogrify &> /dev/null
- if [ "$?" = "1" ] ; then
- echo
- echo "Nötige Software zum resizen von Bildern wurde nicht gefunden: "
- echo "Bitte ÌberprÌfen Sie ob die Packete IMAGEMAGICK und LIBMAGICK6 installiert sind. "
- echo
- exit 0
- fi
- #Existiert Ordner und sind JPEG Dateien darin
- ls $1 &> /dev/null
- if [ "$?" = "1" ] ; then
- echo
- echo "Falsche Eingabe:"
- echo "Der Ordner $1 existiert nicht !"
- echo
- exit 0
- fi
- inhalt=$(ls -1 $1)
- if [ "$(echo "$inhalt" | grep jpg)" != "" ]; then
- format=jpg
- elif [ "$(echo "$inhalt" | grep JPG)" != "" ]; then
- format=JPG
- elif [ "$(echo "$inhalt" | grep jpeg)" != "" ]; then
- format=jpeg
- elif [ "$(echo "$inhalt" | grep JPEG)" != "" ]; then
- format=JPEG
- else
- echo
- echo "Es befinden sich keine JPG Dateien im angegebenen Ordner !!"
- echo
- exit 0
- fi
- #Output Ordner anlegen unter $1/output
- echo
- echo "Lege Ordner $1 fÌr Ausgabedateien an:"
- ls $1/output &> /dev/null
- if [ "$?" = "0" ] ; then
- echo "Verzeichniss existiert bereits, vorhandene Dateien in $1/output werden Ìberschrieben !!"
- ans=a
- while [ "$ans" != "ja" -a "$ans" != "nein" ] ; do
- echo -n "Wollen sie das ? (ja/nein) "
- read ans
- echo
- done
- if [ "$ans" = "nein" ] ; then
- echo "Auf ihren Wunsch hin abgebrochen"
- echo
- exit 0
- fi
- else
- mkdir $1/output &> /dev/null
- if [ "$?" = "1" ] ; then
- echo
- echo "Erstellen von Ordner $1/output nicht möglich"
- echo "ÜberprÌfen sie die Berechtigungen"
- echo
- exit 0
- fi
- fi
- #Report des Sucherfolges
- echo "$inhalt" | grep "$format" > $1/output/dateiliste
- anzahl=$(wc -l "$1/output/dateiliste" | cut -d" " -f1)
- inhalt=$(cat $1/output/dateiliste)
- rm $1/output/dateiliste &> /dev/null
- echo $anzahl Dateien des Formats $format gefunden !
- #Beginn der Arbeit an den JPG Dateien
- run=0
- while [ "$run" != "1" ] ; do
- echo -n "Auf welche Auslösung konvertieren (lÀngste Kante in Pixel angeben)? (z.B. 400) "
- read res
- if (echo "$res" | grep "^[0-9]\{3\}$"&>/dev/null) ; then
- run=1
- elif (echo "$res" | grep "^[0-9]\{2\}$"$>/dev/null); then
- run=1
- elif (echo "$res" | grep "^[0-9]\{4\}$"$>/dev/null); then
- run=1
- fi
- done
- echo "Konvertiere Bilder auf maximale KantenlÀnge von $res Pixeln"
- echo
- res=$res\x$res
- echo
- echo $res
- echo
- cp $1/*.$format $1/output/
- for n in $inhalt ; do
- echo -n "Bearbeite Datei $n "
- echo -n ". . . "
- mogrify -size $res -resize $res $1/output/$n
- echo "done"
- done
- echo
Quellcode
Hier kannst du den Code kopieren und ihn in deinen bevorzugten Editor einfügen. PASTEBIN_DOWNLOAD_SNIPPET_EXPLAIN