X-Spam-Check-By: sourceware.org Date: Mon, 19 Jun 2006 11:26:14 -0400 (EDT) From: Igor Peshansky Reply-To: cygwin AT cygwin DOT com To: Eric Blake cc: cygwin AT cygwin DOT com Subject: Re: Pb with bash script under cygwin In-Reply-To: <4496BEB6.30904@byu.net> Message-ID: References: <4934908 DOT post AT talk DOT nabble DOT com> <002901c69399$67131120$a501a8c0 AT CAM DOT ARTIMI DOT COM> <4935913 DOT post AT talk DOT nabble DOT com> <4496BEB6 DOT 30904 AT byu DOT net> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com 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 AT cs DOT nyu DOT edu | igor AT watson DOT ibm DOT 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/