DEV Community

Cover image for The history behind "grep"'s name

The history behind "grep"'s name

Hamza Tamenaoul
A software and information systems engineering student
Updated on ・1 min read

Originally posted in my portfolio.

grep, a tool that is widely used in the Unix world, a tool that no one could live without. It's one of the first command to which every linux beginner is introduced from its start, so its function is no secret to no one. However, what's the history behind its weird name ?

The answer to this question requires us to go back to the early days of Unix, days of resource scarcity, may they be processing power or memory resources. Software developper of the time had to play by the rules and develop very light programs that get the job done. And one of those tools was the ed text editor. But this editor is nothing like the modern editor we have today (VIM looks like JetBrains IDEs next to it). To see a line of text from the text buffer you needed to type p preceeded by the line number. And for searching the buffer for an occurence of a regular expression we could use like in VIM /regularexpression. But for us to search for all the occurences and print them we'll use g/regularexpression/p, written simply g/re/p. And that's how the world grep was born.

The history of Unix is full of these stories. Amazing stories about those early days of computing.

Discussion (17)

juliencornuwel profile image
Julien Cornuwel

Nice, I didn't know that one :-)
In the same vein, I was taught the story about 'dd' in school : the program makes a 'Carbon Copy' of a file. But 'cc' was already taken by the 'C Compiler'.
Not sure about the authenticity of the story, though.

hamza profile image
Hamza Tamenaoul Author

It's the same thing I've heard from a "GOTO 2013" talk. Giving the history of unix naming, it's very likely this is what happened.

nssimeonov profile image
Templar++ • Edited

Funny, I always thought it comes from data duplication and I never even checked...

michaeltharrington profile image
Michael Tharrington (he/him)

Haha, as an absolute beginner, I really appreciate this one. I'm taking the Command Line Crash Course in Learn Python The Hard Way and have a bunch of flash cards with different commands on them, grep included.

Anyway, I think I get the "p" part and "re" ... but, what's the deal with "g"?

val_baca profile image
Valentin Baca

g matches all lines ("global")

In general, to see all lines matching the regular expression “re”, use g/re/p.

michaeltharrington profile image
Michael Tharrington (he/him)

Appreciate ya clearing that up for me. :-)

jaquino94 profile image

Nice, need to utilize this tool more!

Just wanted to share this link:
Where GREP came from

It's a video of Brian Kernighan, a close colleague of Ken Thompson, explaining how grep came to be; it's pretty interesting because he mentions that Ken created grep overnight!

magicleon94 profile image
Antonello Galipò

That's an interesting fact, thanks for sharing. I've never asked myself what grep could mean, I should start doing it more often when I use my CLI!

ben profile image
Ben Halpern

Ha! I never bothered to look this up. I feel like I would have understood its purpose much better as a newbie had I been taught this off the bat. 😄

avalander profile image

Wow, I had no idea, thanks for sharing!

shiling profile image
Shi Ling

Ohhhh, so that's how it is. I always thought it was meant to be "grab" but spelt in Ye Old English or something.

annecalie profile image
Ana Lúcia

Wow, that's useful, sure is easier to remember the command knowing what it means.

garfbradaz profile image
Gareth Bradley

As a Windows guy transitioning to Linux, I find this fascinating indeed.

benjaminblack profile image
Benjamin Black • Edited

Let's listen to the guy (bwk) who was actually present when it was invented talk about Where GREP Came From.

egidiocaprino profile image
Egidio Caprino

What about the silver searcher?

hamza profile image
Hamza Tamenaoul Author

I didn't know that one, I'm just discovering it. Thanks for mentioning it. I'll go check it out.

nickjj profile image
Nick Janetakis • Edited

If anyone wants to know more about this, there's a great video interview on grep's existence from Brian Kernighan (he contributed towards creating Unix):