This cheat sheet is intended to be a quick reminder for the main concepts involved in using the command line p.
Search standard output (i.e. a stream of text)
$ grep [options] search_string
Search for an exact string in file:
$ grep [options] search_string path/to/file
Print lines in myfile.txt containing the string "mellon"
$ grep 'mellon' myfile.txt
Wildcards are accepted in filename.
-i — grep -i ^DA demo.txt — Forgets about case sensitivity
-w — grep -w "of" demo.txt — Search only for the full word
-A — grep -A 3 'Exception' error.log — Display 3 lines after matching string
-B — grep -B 4 'Exception' error.log — Display 4 lines before matching string
-C — grep -C 5 'Exception' error.log — Display 5 lines around matching string
-r — grep -r 'ref.softcrony.com' /var/log/nginx/ — Recursive search (within subdirs)
-v — grep -v 'warning' /var/log/syslog — Return all lines which don't match the pattern
-e — grep -e '^al' filename — Use regex (lines starting with 'al')
-E — grep -E 'ja(s|cks)on' filename — Extended regex (lines containing jason or jackson)
-c — grep -c 'error' /var/log/syslog — Count the number of matches
-l — grep -l 'robot' /var/log/* — Print the name of the file(s) of matches
-o — grep -o search_string filename — Only show the matching part of the string
-n — grep -n "go" demo.txt — Show the line numbers of the matches
Regex syntax (ref.softcrony.com) Regex examples (ref.softcrony.com)
Please refer to the full version of the regex cheat sheet for more complex requirements.
. — Any character.
? — Optional and can only occur once.
* — Optional and can occur more than once.
+ — Required and can occur more than once.
{n} — Previous item appears exactly n times.
{n,} — Previous item appears n times or more.
{,m} — Previous item appears n times maximum.
{n,m} — Previous item appears between n and m times.
[:alpha:] — Any lower and upper case letter.
[:digit:] — Any number.
[:alnum:] — Any lower and upper case letter or digit.
[:space:] — Any whitespace.
[A-Za-z] — Any lower and upper case letter.
[0-9] — Any number.
[0-9A-Za-z] — Any lower and upper case letter or digit.
^ — Beginning of line.
$ — End of line.
^$ — Empty line.
\< — Start of word.
\> — End of word.