delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/1999/08/23/14:27:00

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT sourceware DOT cygnus DOT com>
List-Archive: <http://sourceware.cygnus.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sourceware DOT cygnus DOT com>
List-Help: <mailto:cygwin-help AT sourceware DOT cygnus DOT com>,
<http://sourceware.cygnus.com/ml/#faqs>
Sender: cygwin-owner AT sourceware DOT cygnus DOT com
Delivered-To: mailing list cygwin AT sourceware DOT cygnus DOT com
Date: Tue, 24 Aug 1999 04:25:45 +1000
From: Fergus Henderson <fjh AT cs DOT mu DOT OZ DOT AU>
To: Earnie Boyd <earnie_boyd AT yahoo DOT com>
Cc: Stephane Bonenfant <sbonenfant AT hotmail DOT com>,
cygwin users <cygwin AT sourceware DOT cygnus DOT com>
Subject: Re: B20.1: Problem with recursive rm (rm -r) on Windows98
Message-ID: <19990824042544.A31357@murlibobo.cs.mu.OZ.AU>
References: <19990820165753 DOT 11353 DOT rocketmail AT web112 DOT yahoomail DOT com>
Mime-Version: 1.0
X-Mailer: Mutt 0.95.1i
In-Reply-To: <19990820165753.11353.rocketmail@web112.yahoomail.com>; from Earnie Boyd on Fri, Aug 20, 1999 at 09:57:53AM -0700

On 20-Aug-1999, Earnie Boyd <earnie_boyd AT yahoo DOT com> wrote:
> --- Stephane Bonenfant <sbonenfant AT hotmail DOT com> wrote:
> > My problem is the following:
> > 
> > I have many level of directories with .d files and I want to remove them 
> > all. So I use the command "rm -rf *.d" which will only remove the file on 
> > the current directory. I though that it will do all other directories since 
> > I've use -r option. Is that because my directories are not name ending with 
> > .d ? Any suggestions
> 
> I think the rm syntax requires that the directories recursed be in the argument
> list.  Therefore, unless the directory ends in .d it won't be seen.  To do what
> you want you need to create a foreach loop using find and rm.
> 
> E.G.:
> foreach FILE in `find . -name *.d`; do rm -f $FILE; done

That command will fail if there are too many files ending in `.d',
due to fixed limits on the length of a command line.

A more robust (and more concise) alternative is to use

	find . -name *.d | xargs rm -f

-- 
Fergus Henderson <fjh AT cs DOT mu DOT oz DOT au>  |  "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh>  |  of excellence is a lethal habit"
PGP: finger fjh AT 128 DOT 250 DOT 37 DOT 3        |     -- the last words of T. S. Garp.

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019