From charlesreid1

Search a file for a pattern

grep pattern file

Case insensitive search (with line numbers)

grep -in pattern file

Case insensitive search that ignores binary files (with line numbers):

grep -I -in pattern file

Recursively grep for string <pattern> in folder:

grep -R pattern folder

Read search patterns from a file (one per line)

grep -f pattern_file file

Find lines NOT containing pattern

grep -v pattern file

You can grep with regular expressions

Match lines starting with 00

grep "^00" file

Find IP address:

grep -E "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" file

Find all files which match {pattern} in {directory}

This will show: "file:line my research"

grep -rnw 'directory' -e "pattern"

Exclude grep from your grepped output of ps.

Add [] to the first letter. Ex: ssh -> [s]sh

ps aux | grep '[h]ttpd'

Colour in red {bash} and keep all other lines

ps aux | grep -E --color 'bash|$'