Volker Kuhlmann wrote:
As pointed out, the only solution is a construction of find | xargs.
What nobody pointed out is that these commands are inherently unsafe. In
typical unix (posix?) we'll-live-in-the-sixties-forever fashion, xargs
chops its input at whitespace, *NOT* at newlines.
IFS=`echo -e "\012\015"`
is the best solution I found on the web but I'm not sure if xargs cares about this. I always use it in relation to a for loop. Changes the delimiters to tab and newline, not space I think. I have a billion files w/ spaces in and they are a right PITA when you chuck them through a 'for' loop or whatever.
eg I sometimes do
for i in $(ls *.bmp); do convert $i blah; done


where "blah" is some sed stuff to change .bmp to .png.

portable). A portable solution is a major PITA. Needing a solution for
this many years ago, I wrote a script fxargs which does this at least on
Solaris and Linux. Saves a lot of typing.
Want to share it?

Cheers,
Tim

Reply via email to