Am Freitag, 3. März 2006 20:50 schrieb Michael Dellwing:
Am Freitag, 3. März 2006 20:20 schrieb Martin Ereth:
Meine Lösung:
#!/bin/sh for file in big/*.[j,J][p,P][g,G] do base=`basename "$file"` convert "$file" -thumbnail '160x160>' -quality '75' "small/$base" done
macht folgendes: nimmt die Bilder (alle jpg's) aus big, bringt sie auf die Grösse von max 160x160, reduziert die Qualität auf 75 und speichert sie mit dem gleichen Namen in small. Die Varibale base ist nur, dass die Bilder in small nicht als small/big/xyz.jpg gespeichert werden.Für INPUT und OUTPUT im gleichen Verzeichnis ist diese Variable unnötig.
Allgemein:
for [Bedingung] do [anweisung(en)] done
Den convert Aufruf hinzukriegen, dürfte eher das kleinere Übel sein. Wichtig: Vorher mit nichtigen Operationen testen, um nicht viel Schrott zu produzieren.
Viele Grüße
Martin Ereth
Danke für den Vorschlag; werd ich mal ausprobieren. Mein Script sieht nun wie folgt aus: ---------------------------------------------------------------------------- #!/bin/sh mkdir resized for x in *.jpg; do echo Working on $x convert $x -sample 640 resized/$x done ---------------------------------------------------------------------------- und es macht dank deiner Mithilfe genau was ich will. thx. mfg micha