Hallo, Am Son, 21 Jun 2009, Kai Krämer schrieb: [..]
#/bin/sh mkdir skaliert for element in *.[jJ][pP][gG]; do size=`identify ${element}` width=`identify -format %w ${element}` height=`identify -format %h ${element}` rat_height=$((${height}/576)) tmp_width=$((${width} / ${rat_heigth})) new_width=$((${tmp_width}*9375/10000)) convert -resize "${new_width}x576!" -quality 100 -sharpen 20 ${element} skaliert/x576_${element} done
Leider bekomme ich jetzt einen anderen Fehler :-(
line 9: 5488 / : syntax error: operand expected (error token is " ")
Gehört vielleicht kein Freizeichen dazwischen?
Erstens sollte das Script mit '#!/bin/bash' beginnen und zweitens geht davor was schief. Das Verhalten läßt sich reproduzieren, wenn $rat_height leer ist: $ echo $(( 4 / 0 )) bash: 4 / 0 : division by 0 (error token is " ") $ echo $(( 4 / )) bash: 4 / : syntax error: operand expected (error token is " ") Füge mal direkt nach dem '#!/bin/bash' ein 'set -x' ein, oder ändere das '#!/bin/sh' gleich in '#/bin/bash -x'. Ansonsten hab ich noch ne Variante die das Parsen und Rechnen in awk macht, allerdings müßte ich dazu noch wissen, was du unter PAL verstehst. 720x576p/4:3 Seitenverhältnis oder (auch) 720x576p/16:9 anamorph? Hier mal der Zwischenstand: ==== #!/bin/bash shopt -s nullglob mkdir -p skaliert for file in *.[Jj][Pp][Gg] *.[Jj][Pp][Ee][Gg]; do echo "converting $file ..." newwidth=( $(identify "$file" | \ awk '{ si=gensub(".*JPEG *([0-9]+x[0-9]+)[^0-9].*", "\\1", 1, $0); split(si, a, "x"); printf("%i\n", a[1] / (a[2] / 576)); }' ) ) convert -size "720x576" xc:black \ -gravity Center -draw "image over 0,0 ${newwidth},576 $file" \ "skaliert/x576_${file}"; done ===== Soweit erstmal ... -dnh -- Typisch billiger Roter. Ganz schwach im Abgang. -- Volker Pispers, "Bis neulich" (2007), zu Schröder im Wahlkampf 2005 bei der "Elefantenrunde" -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org