Date: Wed, 16 Jul 2008 15:52:59 +0930 From: Wayne Sierke <ws@au.dyndns.ws> To: freebsd-questions <freebsd-questions@freebsd.org> Subject: Re: why is this script failing? Message-ID: <1216189379.81342.23.camel@predator-ii.buffyverse> In-Reply-To: <20080716114210.59372334@ayiin> References: <20080714201241.GA22443@thought.org> <20080715073651.P1638@wojtek.tensor.gdynia.pl> <20080715183500.GA76088@thought.org> <20080715190224.GC21840@Grumpy.DynDNS.org> <20080715215024.GA82902@thought.org> <20080716114210.59372334@ayiin>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 2008-07-16 at 11:42 +1000, Norberto Meijome wrote:
> you can always do
>
> find /tmp/kde-*/ -iname "*wav" -print0 | xargs -0 rm -vf
>
> the advantage over doing using rm * or for * in ... is that if you
> have LOTS of files, the expanded list of files may be too much. find |
> xargs will deal with each file in turn. ( -print0 and -0 is to use
> NULL char as a list delimiter instead of space... ).
>
Note that - as highlighted in previous discussions on the fbsd lists re
the use of xargs with find - find is eminently capable of handling large
argument lists and filenames_with_spaces with its own -exec primary:
find /tmp/kde-*/ -iname "*wav" -exec rm -vf {} \;
to exec rm for each file individually, or:
find /tmp/kde-*/ -iname "*wav" -exec rm -vf {} \+
to exec rm for multiple files at once.
Piping to xargs in this case is unnecessary.
Wayne
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1216189379.81342.23.camel>
