is one of UNIX's most useful tools. As a result, everyone
seems to want their own, slightly different version that solves a
different piece of the problem. (Maybe this is a problem in itself;
there really should be only one grep
, as the manual page says.)
Three versions of grep
come with every UNIX system; in addition,
there are six or seven freely available versions that we'll mention here,
and probably dozens of others that you can find kicking around the
Here are the different versions of grep
and what they offer.
We'll start with the standard versions:
Plain old grep
: great for searching with regular expressions
): handles extended
regular expressions. It is also, arguably, the fastest of
the standard grep
So-called "fast grep
," or fgrep
. Actually, this is the
slowest of them all.
Useful to search for patterns with literal backslashes, asterisks,
and so on that you'd otherwise have to escape somehow.
Has the interesting
ability to search for multiple strings (articles
Now for the public domain versions:
, or "approximate grep
"; a tool that finds lines that
"more or less" match your search string.
A very interesting and useful tool, it's part of the glimpse
is an indexing and query system for fast searching of huge
amounts of text.
Both are introduced in article
Very fast versions of grep
, such as the Free Software
, which searches through
RCS files (20.14
In addition, you can
simulate the action of grep
These utilities allow you to write such variations as a grep
that searches for a
pattern that can be split across several lines (27.11
which show you a few lines before and after the
text you find.
s just show the lines that match.)