Count line when words has been matched
$ grep -c 'word' /path/to/file
Pass the -n option to precede each line of output with the number of the line in the text file
$ grep -n 'root' /etc/passwd
Ignore word case
$ grep -i 'word' /path/to/file
Use grep recursively under each directory
$ grep -r 'word' /path/to/file
Use grep to search 2 different words
$ egrep -w 'word1|word2' /path/to/file
Grep invert match
$ grep -v 'word' /path/to/file
you can force grep to display output in colors, enter:
$ grep --color 'word' /path/to/file
You can limiting the results count
$ grep -m 10 'word' /path/to/file
You can match regular expression in files (Syntax: grep "REGEX" filename)
$ grep 'word1.*word2' /path/to/file
? The preceding item is optional and matched at most once.
* The preceding item will be matched zero or more times.
+ The preceding item will be matched one or more times.
{n} The preceding item is matched exactly n times.
{n,} The preceding item is matched n or more times.
{,m} The preceding item is matched at most m times.
{n,m} The preceding item is matched at least n times, but not more than m times.
Display N lines around match
Grep can display N lines after match (Syntax: grep -A <N> "string" filename)
$ grep -A 2 'word' /path/to/file
The following example prints the matched line, along with the two lines after it.
$ grep -A 2 -i 'word' /path/to/file
-C is the option which prints the specified N lines before the match.
$ grep -C 2 'word' /path/to/file