Grep

Grep #

#Getting started #

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 #

-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 ‘quickref.me’ /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

#Basic 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.