Hallo Adimos.
was aber nicht so wirklich funktionieren will, weil "./batch.sh: line 3: `$f': not a valid identifier", was auch immer das heißen mag.
Dass „$f“ kein gültiger Variablenname ist. Es müsste wie folgt aussehen:
for f in *.jpg
do convert "$f" -resize "640x>" "small/$f.jpg"
done
>
> Cool, danke, das funktioniert. Aber leider nur auf \*.jpg-Endungen. Ich habe aber auch etliche Dateien, die \*.JPG heißen. Wie bekomme ich die noch in diese Schleife?
Indem du an Stelle von „\*.jpg“ „\*.[jJ][pP][gG]“ verwendest.
> [1] ... bis auf die Fehlermeldung "find: Fehlendes Argument für "-exec".", wobei ich nicht verstehe, warum find dort keine Kommando sieht (ich gebe zu, ich hab deinen Code kaum erwähnenswert geändert: "find -name \\*.jpg - exec convert -resize "480x>"".
Da fehlt sowohl der Platzhalter für die gefundene Datei („{}“), als auch der Programmterminator („ \;“, ja, das Leerzeichen ist wichtig) als auch die Zieldatei für das „convert“-Kommando.
> Aus dem Grund, da ich die Bilder in Originalgröße noch behalten will).
Da ich nicht genau weiß, ob und wie man mit find die Namen gefundener Dateien manipulieren kann, ist eine Schleife hier wohl besser geeignet.
> Zur Verständnis: Der im Parameter exec angegebene Code wird auf jede Datei, die find findet, ausgeführt?
Exakt.
Einen schönen Sonntag noch.
Gruß, Mathias
--
ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
debian/rules