Grep#
#
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.
Option examples#
Option |
Example |
Operation |
|---|---|---|
|
grep -i ^DA demo.txt |
Forgets about case sensitivity |
|
grep -w “of” demo.txt |
Search only for the full word |
|
grep -A 3 ‘Exception’ error.log |
Display 3 lines after matching string |
|
grep -B 4 ‘Exception’ error.log |
Display 4 lines before matching string |
|
grep -C 5 ‘Exception’ error.log |
Display 5 lines around matching string |
|
grep -r ‘cheatsheets.zip’ /var/log/nginx/ |
Recursive search (within subdirs) |
|
grep -v ‘warning’ /var/log/syslog |
Return all lines which don’t match the pattern |
|
grep -e ‘^al’ filename |
Use regex (lines starting with ‘al’) |
|
grep -E ‘ja(s|cks)on’ filename |
Extended regex (lines containing jason or jackson) |
|
grep -c ‘error’ /var/log/syslog |
Count the number of matches |
|
grep -l ‘robot’ /var/log/* |
Print the name of the file(s) of matches |
|
grep -o search_string filename |
Only show the matching part of the string |
|
grep -n “go” demo.txt |
Show the line numbers of the matches |
Grep regular expressions#
Please refer to the full version of the regex cheat sheet for more complex requirements.
Wildcards#
- |
- |
|---|---|
. |
Any character. |
|
Optional and can only occur once. |
|
Optional and can occur more than once. |
|
Required and can occur more than once. |
Quantifiers#
- |
- |
|---|---|
|
Previous item appears exactly n times. |
|
Previous item appears n times or more. |
|
Previous item appears n times maximum. |
|
Previous item appears between n and m times. |
POSIX#
- |
- |
|---|---|
|
Any lower and upper case letter. |
|
Any number. |
|
Any lower and upper case letter or digit. |
|
Any whitespace. |
Character#
- |
- |
|---|---|
|
Any lower and upper case letter. |
|
Any number. |
|
Any lower and upper case letter or digit. |
Position#
|
Beginning of line. |
|
End of line. |
|
Empty line. |
|
Start of word. |
|
End of word. |