On Monday 13 February 2006 15:12, Juergen Christoffel wrote: > On Mon, Feb 13, 2006 at 01:54:58PM +0100, Gebhard Dettmar wrote: > > for i in `ls *jpg`; do convert -resize 100x100 $i thumbs$i; done > > Vorab: nicht `ls *.jpg` sondern for f in *jpg; do > oops, klar [...] > > > Wieso nimmt convert nicht den jeweiligen Dateinamen, den ihm *jpg > > liefert? > > Hast Du Dir schon mal die Manualpage dazu angesehen? Dort steht > > SYNOPSIS > convert input-file [options] output-file > > Also erwartet convert genau ein Inputfile, mehrere Optionen und dann > genau ein Outputfile. Sonst stuende dort der Plural > {input,output}-files. > Natürlich habe ich mir die angeguckt - und eben nur diesen "Singular-Fall" gesehen, der in der Realität wohl nie auftritt - jedenfalls nicht bei thumbnails. Und da er mehrere input-files mit *jpg nimmt, wäre nur noch die Frage, wie die Outputfiles zu bestimmen sind (ohne for, pipes etc.). Was passiert, wenn man keine angibt, habe ich in der letzten Mail geschildert - jedenfalls nicht "Missing output-file name" o.s.ä. - die Manpage ist da also unvollständig.
> > Ist da die bash oder convert für verantwortlich? > > Weder noch. Die tun, was Du ihnen sagst, also bist Du dafuer > verantwortlich. Du kannst beispielsweise folgendes machen (falls Deine > Shell die Bash o.ae. ist): > > for f in *jpg ; do > g=${f%.jpg} > convert -resize 100x100 $g-t.jpg > done > > Hier kriegt die Variable g den Filenamen ohne die Endung ".jpg" und dann > kannst Du als output-file bei convert z.B. die Endung "-t.jpg" > anhaengen. > Aber das hab ich doch gemacht (nur unschöner). Mach dir mal einen Testordner mit 5 jpgs, dann wirst du sehn, dass convert dir nur 4 thumbnails fabriziert und das muss irgendwas mit der Verarbeitung durch die bash zu tun haben. > Tip: schau' in der Manualpage der Shell nach, was ${f} und ${f%...} > machen, damit Du verstehen lernst. > Hmm, sorry, ich frag vorsichtshalber noch mal nach: ${f} müsste gleich $f sein und ${f%...} ist das " shortest matching pattern (the ``%'' case)", das du benutzt, damit du -t (oder -thumb oder was auch immer) zwischen Namen und Endung setzen kannst? Besten Dank und Grüße, Gebhard -- In India, "cold weather" is merely a conventional phrase and has come into use through the necessity of having some way to distinguish between weather which will melt a brass door-knob and weather which will only make it mushy. -- Mark Twain