Hallo Steven! Steven Breuer wrote: > ich möchte alle Bilder, die im Ordner /home/user/Fotos gespeichert > sind in einen anderen Ordner convertieren (mit imagemagick). Der > Ordner soll /home/user/netFotos heißen und genau die gleichen > Unterordner enthalten. > > Was ich bis jetzt gemacht habe: > > #!/bin/bash > #conv2net > echo "-------------------Working ! ----------------------" > echo "-------don't touch the system while running -------" > base="/home/user" > picdir="Fotos" > cd $base/$picdir > for newdir in `find -type d`; > do mkdir -pv $base/net$picdir/$newdir > done > for jpg in `find $base/$picdir`; > # -name "*.jpg"`; > do convert $jpg -scale 800 $base/net$picdir/$newdir/$jpg; > echo "/net`basename $jpg`" > done Die Zeilen for jpg in `find $base/$picdir`; do convert $jpg -scale 800 $base/net$picdir/$newdir/$jpg; sind problematisch, da Du mit dem Aufruf von find absolute Pfadangaben in $jpg zurückbekommst. Außerdem macht das $newdir im Zieldateinamen keinen Sinn. Ich denke, das Skript sollte an der Stelle so aussehen: for jpg in `find -name "*.jpg"`; do convert $jpg -scale 800 $base/net$picdir/$jpg; > Was ich auch noch einbauen möchte ist ein Befehl, das Bilder > convertiert werden, die noch nicht im netFotos-Ordner sind. > Synchronisation. Da könntest Du vorm konvertieren vorher testen, ob der Dateiname nicht schon in net $picdir existiert. HTH! Tobias
Attachment:
pgp252329PdkI.pgp
Description: PGP signature