In <[EMAIL PROTECTED]>, Angus Leeming <[EMAIL PROTECTED]> typed:
> Lars Gullik Bjønnes wrote:
> > | The problem is that "for" splits the returned list of files using
> > | whitespace...
> > 
> > find foo -name \*.gif -print -exec convert {} `basename {}`.png \;
> > then (ha!)
> 
> Thanks. I've just learnt something.
> 
> Don't you have to quote the args passed to convert? Bet you still do.

Depends on the shell. { and } are magic to csh and zsh, and need
quoting if you're using those. They aren't magic to sh, so they don't
need quoting if you're using that. I don't keep bash installed, so I
don't know if you need them with bash. As an ex-csh user, I quote them
out of habit.

But the basename invocation used by lars is wrong. It needs to be
$(basename {} .gif).png (I always use $(...); you have to to nest
command substitutions, and I find it a bit more readable). If you
leave out the .gif, you get the full filename.

> Ain't scripting fun ;)

Your scripts work much better if you start them with #!/usr/bin/env python
:-).

        <mike
-- 
Mike Meyer <[EMAIL PROTECTED]>          http://www.mired.org/consulting.html
Independent Network/Unix/Perforce consultant, email for more information.

Reply via email to