Subject: Re: Recursive grep (where is limfree defined?)
To: None <thieleke@icaen.uiowa.edu, current-users@NetBSD.ORG>
From: James Graham - Systems Mangler <greywolf@defender.VAS.viewlogic.com>
List: current-users
Date: 01/23/1996 11:17:43
#define AUTHOR "thieleke@icaen.uiowa.edu (thieleke@icaen.uiowa.edu)"

/*
 * As for the architecturally challenged statement, I would be surprised if 
 * it didn't work on all of the supported platforms, since it uses NetBSD's 
 * built-in file traversal functions.

Yes, but this makes it NetBSD-centric which is not necessarily a good
thing, much as I love *BSD.  I have to use many different platforms,
most to which rgrep will not port easily.

 * 
 * 
 * > the find ... | xargs ... is:
 * ...
 * > 	(2) is portable to any POSIX system,
 * 
 * How many different systems are we concerned with?  I can only think of 
 * 1...  :)

Limited scope, wouldn't you say?

 * 
 * > 	(3) is more flexible (both because of find's flexibility, and
 * > 	    because you can do a lot with a pipeline).
 * 
 * This is true.  But find ... | xargs ... can't be argued to be more 
 * intuitive than grep, and certainly not easier to use.

I realise that RTFM is the opposite of intuition, but if you can't
RTFM when you need to, you deserve all the events which will then
ensue.

 * 
 * > why build unnecessary (and, in my opinion, dumb) functionality into
 * > grep?
 * 
 * Because everyone knows grep, but not everyone knows 'find xargs grep'
 * (Even people who do know 'find xargs' don't always do it the most efficient 
 * way, as we have seen). For a very small chunk of code, you add a lot of 
 * functionality that everyone can use.

Yes, but that "small chunk of code" is not inherently present on all
existing systems.

If you're going to port something, _port_ it.  Make it work EVERYwhere.
Otherwise it's as useless to the general populace as the scripts I keep
around for doing my job.  Nobody will be able to make heads or tails of
them, but that's okay because nobody else _has_ to use them.  If I deem
any of them worthy for general consumption, I will jump through hoops to
make sure that they are made _suitable_ for general consumption.

 * How dumb do you think the "limfree guy" thinks a recursive grep is?  Or
 * most average users, for that matter.  
 * 
 * If we don't add the recursive grep, we should at least add the appropriate
 * example to the find(1) man page - not that the average joe user would
 * think to look there.  However, he probably would look at grep, and
 * wonder why it can't do what he wants it to!

See above.  Putting the example in the man page for find(1) might
be useful; putting the example in the man page for grep(1) seems
almost silly.  Should we make a recursion(1) man page which demonstrates
how to use find to do recursive operations using find(1) and xargs(1)?

 * In short:  Unix wizards might despise the idea of a recursive grep, but 
 * it is something that everyone else really needs and could use.

I have a better idea:  Instead of dumbing everything down to the lowest
common denominator, why don't we attempt to educate them and raise the
standards?  There is nothing more repulsive to me than an environment
in which everything is dumbed down to the point that getting details
and finding more information is like pulling teeth.

 * 
 * Jeff Thieleke
 */

#undef AUTHOR	/* "thieleke@icaen.uiowa.edu (thieleke@icaen.uiowa.edu)" */




				--*greywolf;
--
Have A Nice Day.  (Offer void where taxed or prohibited.)