Re: Bilder-Batch
Hallo,
Am Mit, 26 Aug 2009, Wolfgang Freitag-Friedl schrieb:
>Ich möchte mein Photo-Verzeichnis (mit Unterverzeichnis) so "sichern",
>dass ich Bilder in Bildschirmauflösung speichere), also Backup in
>konvertierter Form *
>
>Ich dachte, wenn ich
>* die Ordnerstruktur dupliziere
>* Dateiliste in ein File einlese:
> find -name *jpg | cat >> /tmp/test
^^^^^^^^ Weia. Das ist mal ein kreativer "Useless
use of cat".
>* for i in $(cat < /tmp/test); do convert -quality 85 -resample 96x96
^^^^^^^^^^^^^^^^^^^^
Hier zerbröselt's dir schon. Besser ist bei sowas:
while read file; do
...
done < Datei
>-resize 1024x768 "$i" "/dev/shm/testuser/$(dirname $i)/$(basename $i)" ;
>done; ^^ ^^
und da wieder. Und wieso hier überhaupt dirname/basename?
find . -name '*.jpg' -print0 | while read -r -0 file; do
convert -quality 85 -resample 96x96 -resize 1024x768 \
"$file" "/dev/shm/testuser/${file%\/*}/${1##*\/}"
done
Oder wenn mit dirname/basename dann muß
"/dev/shm/testuser/$(dirname "$file")/$(basename "$file")"
verwendet werden. Auch "innen" muß unbedingt gequoted werden. Wenn man
Backticks `` statt $() verwendet muß man die inneren "" übrigens auch
noch escapen: "$(basename \"$file\")".
HTH,
-dnh
--
I swear that this abortion combines the worst screwups in NT, Win2K &
Windows 98, all rolled into one, then splashed with one of the most
nauseating GUIs[2] it's even been my misfortune to be required not to
puke on. -- Lionel on "Windows XP", in asr
Reply to:
- References:
- Bilder-Batch
- From: Wolfgang Freitag-Friedl <wolfgang.friedl@shlink.ch>