Date: Mon, 30 Jun 2014 23:03:16 +0200 From: Polytropon <freebsd@edvax.de> To: Gary Kline <kline@thought.org> Cc: FreeBSD Mailing List <freebsd-questions@freebsd.org> Subject: Re: long string using find and "-exec ls -ls" to find part-of filename Message-ID: <20140630230316.44ec3257.freebsd@edvax.de> In-Reply-To: <20140630064044.GA25085@ethic.thought.org> References: <20140630045605.GA11147@ethic.thought.org> <53B0EFF2.80205@calorieking.com> <CA%2Bg%2BBvg1=o71ObOpbh4ry-=unj2HOjjmcQHX1DOeAfwyhLu=QQ@mail.gmail.com> <20140630053004.GB16901@ethic.thought.org> <CA%2Bg%2BBvh%2BDk0iYCjbGKVt59-nfDoCFQ6qmArrJu7ueaT7VzDi1g@mail.gmail.com> <20140630064044.GA25085@ethic.thought.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 29 Jun 2014 23:40:44 -0700, Gary Kline wrote: > ANYWAY, the thing learned tonight is that it's *XARGS* <cmd> > instead of -exec abcfubarCmd. Allow me to add one little reminder: When using xargs, usually _one_ program will be executed with a command line containing _all_ results of the find command. If you want to run a program on _each_ of the results, this is the typical sh solution: find ... | while read F; do somecommand $F done Or maybe less elegant: for F in `find ...`; do somecommand $F done But keep in mind things get more complicated when the file names contain valid, but "unpleasant" characters, such as spaces. In this case, reading this can help: David A. Wheeler: Filenames and Pathnames in Shell: How to do it Correctly http://www.dwheeler.com/essays/filenames-in-shell.html David A. Wheeler: Fixing Unix/Linux/POSIX Filenames: Control Characters (such as Newline), Leading Dashes, and Other Problems http://www.dwheeler.com/essays/fixing-unix-linux-filenames.html But if you've been using "clean" file names, this shouldn't be a big problem. ;-) -- Polytropon Magdeburg, Germany Happy FreeBSD user since 4.0 Andra moi ennepe, Mousa, ...
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140630230316.44ec3257.freebsd>