On Mon, 19 Jun 2006, Eric Blake wrote:
> According to Igor Peshansky on 6/19/2006 8:50 AM:
> >
> > Another note I wanted to make is that '-exec' is evil, and you almost
> > never have a reason to use it for a final action of the find (pipe the
> > output to xargs instead -- "man xargs" for details).
>
> - -execdir is safer than -exec. And by using the + instead of ;
> operator to - -exec or -execdir, you can safely eliminate the xargs
> process: 'find - -execdir echo {} +' is more efficient than 'find
> -print | xargs echo'.
Right, but it requires a new version of find, and thus will be
non-portable. Besides, the output is not the same -- "find . -type f
-print | xargs echo" will print the files with paths relative to the
current directory, and "find . -type f -execdir echo {} +" will print
everything with "./" (ok for "rm", not so ok for "echo"). Plus, you can't
do some other nifty things that xargs can do, e.g., limit the number of
files passed to the command.
Igor
--
http://cs.nyu.edu/~pechtcha/
|\ _,,,---,,_ pechtcha@cs.nyu.edu | igor@watson.ibm.com
ZZZzz /,`.-'`' -. ;-;;,_ Igor Peshansky, Ph.D. (name changed!)
|,4- ) )-,_. ,\ ( `'-' old name: Igor Pechtchanski
'---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow!
"Las! je suis sot... -Mais non, tu ne l'es pas, puisque tu t'en rends compte."
"But no -- you are no fool; you call yourself a fool, there's proof enough in
that!" -- Rostand, "Cyrano de Bergerac"
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/