The name "grep"

Arthur Chance freebsd at
Mon Jul 7 07:43:00 UTC 2014

On 07/07/2014 06:54, Polytropon wrote:
> Sometimes I get a "nostalgic seizure", and when I do so, I read
> one of my older books (which I have plenty of to choose from).
> Yesterday's choice was "Keine Angst for UNIX" (no fear of UNIX)
> by Christine Wolfinger, published 1991 by VDI Verlag Duesseldorf.
> On page 173 I read something that I hadn't noticed yet (translated):
> 	grep:
> 	global regular expression print
> 	(combination of an editor command)
> So today I checked "man grep", but it doesn't mention it. Therefore
> here are my questions, primarily aiming at "UNIX dinosaurs" and
> historians on list - because you probably need to be either old
> or interested in UNIX history in order to provide a substantial
> opinion. :-)
> 1. Is the mentioned interpretation correct or at least acceptable?
> 2. Should the manpage mention it?
> In my opinion, "print lines matching a pattern" describes what
> grep does, but not really what it means (or where the name of
> the command comes from). Other manpages explain the name of the
> command or provide background information so you can understand
> why the particular name has been chosen, for example:
> 	sed = (s)tream (e)ditor (section NAME)
> 	tar = manipulate (t)ape (ar)chives (section NAME)
> 	awk = (A)ho, (W)einberger, (K)ernighan (section SEE ALSO)
> 	dd = copy and convert (cc was taken by C compiler, but
> 	     not mentioned in the manpage; "common knowledge")
> 	vi = visual editor (in contrast to ex; not mentioned)
> Should "man grep" contain a hint about "global regular expression
> print" or something similar?

 From ancient memory circa 1980, probably suffering from bit rot:

Before grep existed, to use ed to print lines in a file that match a 
particular regular expression

ed $file

where the "re" stands for the regular expression and you're applying the 
"p" (print) command to each line that matches it.

When a newbie asked how to print matching lines in a file, you'd answer 
"grep" and show them the trick, and eventually the name got given to the 
grep program when it was written. I think the "global regular expression 
print" explanation is based on explaining what the original ed command did.

More information about the freebsd-questions mailing list