piccop.sh - Bashskript um Bilder zu bearbeiten
Autor : Christopher Pope
Beschreibung : Skript durchläuft einen Ordner und konvertiert die Bilddateien in einen anderen
Ordner mithilfe vom imagemagick die Bilder werden automatisch durchnummeriert
Wie benutzt man das Skript ?
Es gibt 2 Möglichkeiten dieses Skript zu verwenden
1.) starten durch ./piccop.sh sämtliche benötigte Informationen werden im Terminal abgefragt
2.) starten über Parameter
piccop.sh [Startverzeichnis] [Zielverzeichnis] [StartZähler oder a] [Auflösung] [löschen 0/1]
z.B.
piccop.sh /home/user/bilder/wallpaper/ /home/user/bilder/wallies 1 1024x768^ 1
wird als StartZähler a als Parameter übergeben wird die höchste Zahl im Zielverzeichnis ermittel +1 addiert
und als Start Zähler verwendet.
Bei Auflösung können auch die convert -resize Befehle verwendet werden mehr dazu unter : http://www.imagemagick.org/Usage/resize/#resize
Danke an :
Greebo , paddel , Barabbas , theinlein , Vain , user unknown von ubuntuusers.de für ihre Tipps und Hilfestellungen
Download : Download piccop.sh
Beschreibung : Skript durchläuft einen Ordner und konvertiert die Bilddateien in einen anderen
Ordner mithilfe vom imagemagick die Bilder werden automatisch durchnummeriert
Wie benutzt man das Skript ?
Es gibt 2 Möglichkeiten dieses Skript zu verwenden
1.) starten durch ./piccop.sh sämtliche benötigte Informationen werden im Terminal abgefragt
2.) starten über Parameter
piccop.sh [Startverzeichnis] [Zielverzeichnis] [StartZähler oder a] [Auflösung] [löschen 0/1]
z.B.
piccop.sh /home/user/bilder/wallpaper/ /home/user/bilder/wallies 1 1024x768^ 1
wird als StartZähler a als Parameter übergeben wird die höchste Zahl im Zielverzeichnis ermittel +1 addiert
und als Start Zähler verwendet.
Bei Auflösung können auch die convert -resize Befehle verwendet werden mehr dazu unter : http://www.imagemagick.org/Usage/resize/#resize
Danke an :
Greebo , paddel , Barabbas , theinlein , Vain , user unknown von ubuntuusers.de für ihre Tipps und Hilfestellungen
Download : Download piccop.sh
#!/bin/bash # # Autor : Christopher Pope # Beschreibung : Skript durchläuft einen Ordner und konvertiert die Bilddateien in einen anderen # Ordner mithilfe vom imagemagick die Bilder werden automatisch durchnummeriert # # Wie benutzt man das Skript ? # # Es gibt 2 Möglichkeiten dieses Skript zu verwenden # # 1.) starten durch ./piccop.sh sämtliche benötigte Informationen werden im Terminal abgefragt # # 2.) starten über Parameter # piccop.sh [Startverzeichnis] [Zielverzeichnis] [StartZähler oder a] [Auflösung] [löschen 0/1] # z.B. # piccop.sh /home/user/bilder/wallpaper/ /home/user/bilder/wallies 1 1024x768^ 1 # # wird als StartZähler a als Parameter übergeben wird die höchste Zahl im Zielverzeichnis ermittel +1 addiert # und als Start Zähler verwendet. # # Bei Auflösung können auch die convert -resize Befehle verwendet werden mehr dazu unter : http://www.imagemagick.org/Usage/resize/#resize # # Danke an : # Greebo , paddel , Barabbas , theinlein , Vain , user unknown von ubuntuusers.de für ihre Tipps und Hilfestellungen # blue=$(tput setaf 4) # Blue green=$(tput setaf 2) # Green red=$(tput setaf 1) # Red bold=$(tput bold) # bold white=$(tput sgr0) # Text Reset auf Default u=0 clear echo if [[ ${#} -lt 1 ]] then echo "Bitte Startverzeichnis angeben (muss mit / aufhören !)" read inp source=$inp else source=$1 fi if [[ ${#} -lt 2 ]] then echo -e "Bitte Zielverzeichnis angeben (muss mit / aufhören !)" read inp1 target=$inp1 else target=$2 fi if [[ ${#} -lt 3 ]] then echo -e "Bitte Start Zähler angeben" read inp2 startn=$inp2 else startn=$3 if [[ "$startn" == "a" ]]; then hz=$(ls $target -a1 | tail -n 1 | grep -o [1-9][0-9]*) hz=$(($hz+1)) #echo $hz startn=$hz fi fi if [[ ${#} -lt 4 ]] then echo echo -e "Wie groß sollen denn die Bilder nach dem konvertieren sein ?\n" echo -e "1024x768 (default)\t\t1" echo -e "1280x1024\t\t\t2" echo -e "1600x1200\t\t\t3" read -n 1 taste case $taste in 1) res=1024x768^;; 2) res=1280x1024^;; 3) res=1600x1200^;; esac else res=$4 fi if [[ ${#} -lt 5 ]] then echo echo -e "Soll die Datei nach dem konvertieren gelöscht werden ?" echo -e "Ja\t\tj" echo -e "Nein\t\tn" read -n 1 taste case $taste in j|J) delete=1;; n|N) delete=0;; esac else delete=$5 fi # Zähler setzen j=$startn echo echo ${white}"Vorgang wird gestartet" echo "------------------------------------------------------------------------------------------------------------------------------" echo " ${white}Quelle : ${bold}${red}$source" echo " ${white}Ziel : ${bold}${green}$target" echo " ${white}Start Zähler : ${bold}${blue}$startn" echo " ${white}Ziel Auflösung : ${bold}${blue}$res ${white}" echo " ${white}Löschen nach konvertieren : ${bold}${red}$delete ${white}" echo "------------------------------------------------------------------------------------------------------------------------------" echo if (test -d $source); then if (test -d $target); then for file in $(find $source -type f | sort); do echo ${white}${bold}${blue}$file ${white} \-\-\-\> ${bold}${green}$target$(printf "%04u\n" "$j").jpg convert $file -resize $res $target$(printf "%04u\n" "$j").jpg if [[ $delete = 1 ]] then echo "${red}$file ${white} wird gelöscht" rm $file fi j=$(($j+1)) u=$(($u+1)) done echo echo "${white}------------------------------------------------------------------------------------------------------------------------------" j=$(($j-1)) echo "${white} Vorgang wurde abgeschlossen , es wurden ${bold}${green}$u ${white}Dateien konvertiert" echo else echo echo "${white}------------------------------------------------------------------------------------------------------------------------------" echo "${white}Ziel : ${bold}${red}$target ${white} wurde nicht gefunden" fi else echo echo "${white}------------------------------------------------------------------------------------------------------------------------------" echo "${white}Quelle : ${bold}${red}$source ${white} wurde nicht gefunden" fi echo exit 1