Subject: Re: Recursive grep (where is limfree defined?)
To: matthew green <firstname.lastname@example.org>
From: Missing - presumed fed. <greywolf@defender.VAS.viewlogic.com>
Date: 01/24/1996 10:53:45
#define AUTHOR "email@example.com (matthew green)"
* if you can't be bothered to learn something or read the
* manual, what the hell are you doing using UNIX?
* maybe someone wants a real operating system, knows unix, but, wants
* some very commonly used idioms easily used. typing:
* % find /local/src /usr/src <etc> -type f -print0 | xargs -0 grep -ni <pattern>
* is really annoying. a smart shell script that would pass the find
* args to find and the rest to grep would be, imo, better than the
* C version -- without bloating grep.
You've just reinforced several very good points:
- There is almost always more than one way to do something in UNIX.
- A pipeline of robust commands will beat a frail C program.
[not to be taken that C programs are frail by nature -- if we
didn't have good C programs, there would be no such thing
as a "robust pipeline"!]
- Code bloat can almost always be avoided. If you must bloat
code, make it handle as general a case as is possible.
Special casing code just makes it easier to break somewhere
down the road.
#undef AUTHOR /* "firstname.lastname@example.org (matthew green)" */
thought: I ain't so damb dumn! | Your brand new kernel just dump core on you
war: Invalid argument | And fsck can't find inode 2
| Don't worry -- be happy...