Subject: Re: multi find with different file outputs
To: None <tech-userlevel@NetBSD.org>
From: Jeremy C. Reed <reed@reedmedia.net>
List: tech-userlevel
Date: 10/12/2005 12:19:31
On Wed, 12 Oct 2005, Jeremy C. Reed wrote:

> I also added the -false primary as found with findutils's find(1).
>
> Using my -fprint on findutils or my hacked NetBSD find(1) does not do what I 
> wanted. For example, if saving results of all files that start with a vowel 
> or saving results of all files owned by group operator, then the list of 
> files owned by group operator would not include the files starting with a 
> vowel.

Now I see that findutils has two ways around this: using -false or using 
the "," comma operator. You can use the comma to perform multiple 
independent tests, for example:

find /etc \( -name "[aeiou]*" -fprint vowel.6 , -mtime -100 -fprint recent.6 \)

has the same results as:

find /etc \( -name "[aeiou]*" -fprint vowel.5 -false \) -o \( -mtime -100 -fprint recent.5 \)

(and the timing is about the same from few tests I did on a couple 
filesystems).

I will just use -false for now instead of also coding "comma" support.


  Jeremy C. Reed

  	  	 	 technical support & remote administration
 	  	 	 http://www.pugetsoundtechnology.com/