[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: hunderte Bilder bearbeiten - Scripthilfe!



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


Reply to: