From owner-freebsd-questions@FreeBSD.ORG Fri Feb 10 16:08:50 2012 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F3C771065673 for ; Fri, 10 Feb 2012 16:08:49 +0000 (UTC) (envelope-from matthewstory@gmail.com) Received: from mail-vw0-f54.google.com (mail-vw0-f54.google.com [209.85.212.54]) by mx1.freebsd.org (Postfix) with ESMTP id 9E7CB8FC18 for ; Fri, 10 Feb 2012 16:08:49 +0000 (UTC) Received: by vbbfa15 with SMTP id fa15so2770843vbb.13 for ; Fri, 10 Feb 2012 08:08:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=Rvqxfr3eXOZ9L1+LL4BbnEdwKx81NV1hLfVaPbgeugs=; b=fPXztiG+DMLdjssAkTYQQhV3Rc/KTaEfN28E2VIwSW/cPOVoYzc0qT/iYktgooEwxl YOznD7bGB/PqT16OXfknzzjzdjBdA3Rj017z0vJHL00ad335vtwhpmMpimbW+yOSvgNh ROZ3OlnwwMrFrYn+RIG0j8wSYZimf/ryo8+Is= MIME-Version: 1.0 Received: by 10.52.71.226 with SMTP id y2mr3126109vdu.78.1328890128883; Fri, 10 Feb 2012 08:08:48 -0800 (PST) Received: by 10.52.21.84 with HTTP; Fri, 10 Feb 2012 08:08:48 -0800 (PST) In-Reply-To: References: <1237723287.20120207235924@yandex.ru> <4F31A260.20109@infracaninophile.co.uk> <20120207231716.31aa8bc3@gumby.homeunix.com> <20120209032544.GA58560@ozzmosis.com> <4F353D1F.3020100@herveybayaustralia.com.au> Date: Fri, 10 Feb 2012 11:08:48 -0500 Message-ID: From: Matthew Story To: freebsd-questions@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Subject: Re: 'rm' Can not delete files X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Feb 2012 16:08:50 -0000 On Fri, Feb 10, 2012 at 11:04 AM, Matthew Story wrote: > On Fri, Feb 10, 2012 at 10:51 AM, Da Rock < > freebsd-questions@herveybayaustralia.com.au> wrote: > >> On 02/11/12 01:34, Henry Olyer wrote: >> >>> So what do I change if I want to increase the shell's file limit? >>> >> I don't think you can. It's not a shell limit. It's a limit to the number >> of arguments the command itself will take. As said, the shell expands '*' >> to a list of files as the argument, and rm is limited to the number of >> arguments it will parse. >> >> I use bash 4. >>> >>> And by the way, for me, part of the normal installation of a new FBSD box >>> is to make certain changes. For example, for "uniq -c" I use "%06" >>> instead >>> of "%d" because this way I can sort the output. Things like that. >>> >>> I never learned a shell language. I suppose no one is as dumb as someone >>> who choose's not to learn, so, what's the right one. csh?, because I do >>> a >>> lot of scientific work?, or should I be looking at another? >>> >> There's not really much difference in this factor for shell types; as for >> changes you'd have to hack the command's (say rm) code. >> >> As mentioned, I'd use the find -delete combination. > > > I think the only thing that would give you this sort of pseudo-granularity > of MAX_ARGS (and ARG_MAX) control at run-time is xargs with the -s and -n > options ... a play on andrew's earlier example: > > find . -type f -depth 1 -print0 | xargs -n99 -0 -s8192 -c5 rm -- > the -c5 here should read -P5 ... apologies. > or some such, depending on your needs, I believe in most situations this > particular invocation will also out-perform find ... -delete. > > >> On Wed, Feb 8, 2012 at 10:25 PM, andrew clarke >>> wrote: >>> >>> On Tue 2012-02-07 23:17:16 UTC+0000, RW (rwmaillists@googlemail.com) >>>> wrote: >>>> >>>> On Tue, 07 Feb 2012 22:14:56 +0000 >>>>> Matthew Seaman wrote: >>>>> >>>>> ls -1 | xargs rm >>>>>> >>>>> but be aware that that wont work for filenames with spaces. >>>>> >>>> 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. >>>> >>>> The above will also try to 'rm' directories, which won't work. >>>> >>>> Instead I would use 'find': >>>> >>>> find . -type f -depth 1 -delete >>>> >>>> This will also work with filenames with spaces. >>>> >>>> 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.) >>>> >>>> Regards >>>> Andrew >>>> ______________________________**_________________ >>>> freebsd-questions@freebsd.org mailing list >>>> http://lists.freebsd.org/**mailman/listinfo/freebsd-**questions >>>> To unsubscribe, send any mail to " >>>> freebsd-questions-unsubscribe@**freebsd.org >>>> " >>>> >>>> ______________________________**_________________ >>> freebsd-questions@freebsd.org mailing list >>> http://lists.freebsd.org/**mailman/listinfo/freebsd-**questions >>> To unsubscribe, send any mail to "freebsd-questions-** >>> unsubscribe@freebsd.org " >>> >> >> ______________________________**_________________ >> freebsd-questions@freebsd.org mailing list >> http://lists.freebsd.org/**mailman/listinfo/freebsd-**questions >> To unsubscribe, send any mail to "freebsd-questions-** >> unsubscribe@freebsd.org " >> > > > > -- > regards, > matt > -- regards, matt