Date: Sat, 11 Feb 2012 12:05:14 +1100 From: andrew clarke <mail@ozzmosis.com> To: freebsd-questions@freebsd.org Subject: Re: 'rm' Can not delete files Message-ID: <20120211010514.GA54353@ozzmosis.com> In-Reply-To: <4F3541D6.5080505@infracaninophile.co.uk> References: <1237723287.20120207235924@yandex.ru> <4F31A260.20109@infracaninophile.co.uk> <20120207231716.31aa8bc3@gumby.homeunix.com> <20120209032544.GA58560@ozzmosis.com> <CAE7N2kdmbm_5=c8oNknYQE5HOrvVjtfS4XTGYvxTjEQVbGr-7Q@mail.gmail.com> <4F3541D6.5080505@infracaninophile.co.uk>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri 2012-02-10 16:12:06 UTC+0000, Matthew Seaman (m.seaman@infracaninophile.co.uk) wrote: > > In addition, I don't believe it solves the OP's initial problem of the > > argument list being too long! You'd probably need to use the xargs -n > > switch here. > > Go and read the xargs(1) man page carefully. xargs is specifically > designed to avoid arglist overflows. Ah, I grepped for 'limit' and 'overflow', didn't see anything applicable, and didn't notice the -s switch. That it avoids arglist overflows should perhaps be written more obviously in the man page (though I'm not sure how...) > >> Or the scenic route, using xargs, with one rm per file (slower): > >> > >> find . -type f -depth 1 -print0 | xargs -n1 -0 rm -f > >> > >> (The "scenic route" is useful if you want to do something else with > >> the files instead of deleting them with rm.) > > In this case, if you're going to call rm repeatedly with only one arg, > then xargs is pretty pointless. You might as well do: > > find . -type f -depth 1 -exec rm -f '{}' ';' > > but let's not leave people in any doubt that this is not the best option. True, but I can never remember the syntax for -exec. :-) Regards Andrew
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120211010514.GA54353>