Grep Help At A Glance

Hello reader,

I’m just appending text for a quick reference for new Linux and Mac users, I certainly didn’t write the help manual.

Usage: grep [OPTION]… PATTERN [FILE]…
Search for PATTERN in each FILE or standard input.
PATTERN is, by default, a basic regular expression (BRE).
Example: grep -i ‘hello world’ menu.h main.c

Regexp selection and interpretation:
-E, –extended-regexp PATTERN is an extended regular expression (ERE)
-F, –fixed-strings PATTERN is a set of newline-separated fixed strings
-G, –basic-regexp PATTERN is a basic regular expression (BRE)
-P, –perl-regexp PATTERN is a Perl regular expression
-e, –regexp=PATTERN use PATTERN for matching
-f, –file=FILE obtain PATTERN from FILE
-i, –ignore-case ignore case distinctions
-w, –word-regexp force PATTERN to match only whole words
-x, –line-regexp force PATTERN to match only whole lines
-z, –null-data a data line ends in 0 byte, not newline

-s, –no-messages suppress error messages
-v, –invert-match select non-matching lines
-V, –version print version information and exit
–help display this help and exit
–mmap deprecated no-op; evokes a warning

Output control:
-m, –max-count=NUM stop after NUM matches
-b, –byte-offset print the byte offset with output lines
-n, –line-number print line number with output lines
–line-buffered flush output on every line
-H, –with-filename print the file name for each match
-h, –no-filename suppress the file name prefix on output
–label=LABEL use LABEL as the standard input file name prefix
-o, –only-matching show only the part of a line matching PATTERN
-q, –quiet, –silent suppress all normal output
–binary-files=TYPE assume that binary files are TYPE;
TYPE is ‘binary’, ‘text’, or ‘without-match’
-a, –text equivalent to –binary-files=text
-I equivalent to –binary-files=without-match
-d, –directories=ACTION how to handle directories;
ACTION is ‘read’, ‘recurse’, or ‘skip’
-D, –devices=ACTION how to handle devices, FIFOs and sockets;
ACTION is ‘read’ or ‘skip’
-r, –recursive like –directories=recurse
-R, –dereference-recursive likewise, but follow all symlinks
–include=FILE_PATTERN search only files that match FILE_PATTERN
–exclude=FILE_PATTERN skip files and directories matching FILE_PATTERN
–exclude-from=FILE skip files matching any file pattern from FILE
–exclude-dir=PATTERN directories that match PATTERN will be skipped.
-L, –files-without-match print only names of FILEs containing no match
-l, –files-with-matches print only names of FILEs containing matches
-c, –count print only a count of matching lines per FILE
-T, –initial-tab make tabs line up (if needed)
-Z, –null print 0 byte after FILE name

Context control:
-B, –before-context=NUM print NUM lines of leading context
-A, –after-context=NUM print NUM lines of trailing context
-C, –context=NUM print NUM lines of output context
-NUM same as –context=NUM
–colour[=WHEN] use markers to highlight the matching strings;
WHEN is ‘always’, ‘never’, or ‘auto’
-U, –binary do not strip CR characters at EOL (MSDOS/Windows)
-u, –unix-byte-offsets report offsets as if CRs were not there

‘egrep’ means ‘grep -E’. ‘fgrep’ means ‘grep -F’.
Direct invocation as either ‘egrep’ or ‘fgrep’ is deprecated.
When FILE is -, read standard input. With no FILE, read . if a command-line
-r is given, – otherwise. If fewer than two FILEs are given, assume -h.
Exit status is 0 if any line is selected, 1 otherwise;
if any error occurs and -q is not given, the exit status is 2.

Report bugs to:
GNU Grep home page: <>
General help using GNU software: <>


Spread the love

1,203 thoughts on “Grep Help At A Glance”

  1. Do you mind if I quote a few of your articles as long as I provide credit and sources back to your website? My blog site is in the very same area of interest as yours and my visitors would genuinely benefit from a lot of the information you present here. Please let me know if this ok with you. Many thanks!

  2. I don’t know whether it’s just me or if perhaps everyone else experiencing issues with your blog. It appears as if some of the text within your posts are running off the screen. Can somebody else please comment and let me know if this is happening to them too? This may be a problem with my browser because I’ve had this happen before. Thank you

  3. When I initially commented I clicked the “Notify me when new comments are added” checkbox and now each time a comment is added I get four emails with the same comment. Is there any way you can remove people from that service? Many thanks!

Leave a Reply

Your email address will not be published. Required fields are marked *