[ILUG] Disadvantages of find -exec?
Niall O Broin
niall at linux.ie
Tue Jan 13 15:33:34 GMT 2009
On 13 Jan 2009, at 14:40, Braun Brelin wrote:
> A few days ago I saw a thread regarding find where someone stated
> that using
> find with -exec was a bad idea and to use -xargs instead.
> Can someone give me some opinions as to what specifically is the
> drawback of
> -exec with find? Just curious.
The disadvantage of using -exec is the starting of lots of processes,
which for a process whose startup time is high compared to its runtime
can be bad. I've never seen a version of find with a -xargs option - I
guess you refer to passing the output of find (probably with -print0)
to xargs )possibly with -0 to match -print0). I personally tend to use
COMMAND $(find +options)
quite a lot, if I know that the output of find won't be too long for
the shell. However, probably the niftiest variation is -exec with +
instead of ; i.e.
-exec COMMAND {} +
instead of
-exec COMMAND {} ;
which builds command lines with multiple arguments in a similar manner
to xargs, and hence starts far fewer processes than the latter
approach. This is of course a shiny Gnewism - if you're stuck with
older Unix variants, or even older Linu distributions, your find won't
do this.
Niall
More information about the ILUG
mailing list