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

Re: Bilder-Batch



David Haller schrieb am 28.08.2009 04:01   ---¦

>> (Die Variante mit ${file%\/*}/${1##*\/}" hat übrigens nicht geklappt)
> 
> Da hab ich auch gepennt. Muß natürlich ${file%\/*}/${file##*\/} sein.
> Aber wenn du eh beides verwendest ist das komplett überflüssig und du
> kannst direkt den kompletten Dateinamen verwenden (unten das "$1" in
> "${thumbdir}/$1").
> 
> So müßte es klappen:
> 
> find . \( -iname '*.jpg' -o -iname  '*.jpeg' \) -exec sh -x -c '
>     thumbdir="/dev/shm/testuser"
>     echo "$1 -> ${thumbdir}/$1";
>     dir="$(dirname "${thumbdir}/$1")";
>     test -d "$dir" || mkdir -p "$dir";
>     convert -quality 85 -resample 96x96 -resize 1024x768 \
>         "$1" "${thumbdir}/$1"
>     ' find-sh {} \;


Klappt prima! (Anm. mich wunder, dass ich in der ersten Zeile nicht"-or"
statt "-o" schreiben muss); hätte gedacht, dass "-o" ein "entweder-oder"
darstellt)

> 
> Statt dem -exec sh -c '..' kannst du den Konvertierungskram in ein
> extra-script schreiben und das dann aufrufen.
> 
> Ich gehe dabei davon aus, daß convert die Laufzeit des Scripts
> dominiert, ansonsten könnte man auch das innere Script so umbauen, daß
> es mehrere Dateinamen verarbeiten kann.
> 
> find ... -exec sh -c '
>     thumbdir=...
>     for file; do
>         echo "$file -> ...";
>         ...
>         convert ... "$file" "${thumbdir}/${file}"
>     done
>     ' find-sh {} \+
> 
>> ? kann ich find auch noch eine Art "oder" mitgeben bzw. etwas, damit 
>> auch *jpeg gefunden wird?
>> find . -name '*.jp[e]g'
> 
> Ungetestet:
> 
>     -regex '.*\.jpe?g'
> 
> Oder siehe oben.
> 
> -dnh
> 

Den Rest habe ich nicht versucht - never change a running script :-)

Vielen Dank, David & ich hoffe, dass nicht mein Mail Grund für eine
schlaflose Nacht war!

-- 

     ###
    #   #
     # #
   wolfgang
     # #
    #   #freitag-friedl


Reply to: