^ |
Beginning of line. |
$ |
End of line. |
^$ |
Empty line. |
\< |
Start of word. |
\> |
End of word. |
Grep Cheat Sheet
This cheat sheet is intended to be a quick reminder for the main concepts involved in using the command line p
Grep regular expressions
Position
Character
- | - |
---|---|
[A-ZÂa-z] |
Any lower and upper case letter. |
[0-9] |
Any number. |
[0-9ÂA-ZÂa-z] |
Any lower and upper case letter or digit. |
POSIX
- | - |
---|---|
[:alpha:] |
Any lower and upper case letter. |
[:digit:] |
Any number. |
[:alnum:] |
Any lower and upper case letter or digit. |
[:space:] |
Any whitesÂpace. |
Quantifiers
- | - |
---|---|
{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. |
Wildcards
- | - |
---|---|
. | Any character. |
? |
Optional and can only occur once. |
* |
Optional and can occur more than once. |
+ |
Required and can occur more than once. |
Refer
- Regex syntax (quickref.me)
- Regex examples (quickref.me) Please refer to the full version of the regex cheat sheet for more complex requirements.
Getting Started
Option examples
Option | Example | Operation |
---|---|---|
-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 'quickref.me' /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 |
-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 |
Usage
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.