Skip to content

Grep

Getting Started {.cols-5}

Usage {.col-span-2}

Search standard output (i.e. a stream of text)

Terminal window
$ grep [options] search_string

Search for an exact string in file:

Terminal window
$ grep [options] search_string path/to/file

Print lines in myfile.txt containing the string “mellon”

Terminal window
$ grep 'mellon' myfile.txt

Wildcards are accepted in filename.

Option examples {.col-span-3}

OptionExampleOperation
-igrep -i ^DA demo.txtForgets about case sensitivity
-wgrep -w “of” demo.txtSearch only for the full word
-Agrep -A 3 ‘Exception’ error.logDisplay 3 lines after matching string
-Bgrep -B 4 ‘Exception’ error.logDisplay 4 lines before matching string
-Cgrep -C 5 ‘Exception’ error.logDisplay 5 lines around matching string
-rgrep -r ‘cheatsheets.zip’ /var/log/nginx/Recursive search (within subdirs)
-vgrep -v ‘warning’ /var/log/syslogReturn all lines which don’t match the pattern
-egrep -e ‘^al’ filenameUse regex (lines starting with ‘al’)
-Egrep -E ‘ja(s|cks)on’ filenameExtended regex (lines containing jason or jackson)
-cgrep -c ‘error’ /var/log/syslogCount the number of matches
-lgrep -l ‘robot’ /var/log/*Print the name of the file(s) of matches
-ogrep -o search_string filenameOnly show the matching part of the string
-ngrep -n “go” demo.txtShow the line numbers of the matches

Grep regular expressions

Refer

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

--
{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.

POSIX

--
[:alpha:] Any lower and upper case letter.
[:digit:] Any number.
[:alnum:] Any lower and upper case letter or digit.
[:space:] Any whites­pace.

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.

Position

^ Beginning of line.
$ End of line.
^$Empty line.
\<Start of word.
\>End of word.