Table of Contents

Grep - Basic usage

Assuming a file exists with the following contents:

boot
book
booze
machine
boots
bungie
bark
aardvark
broken$tuff
robots

grep "boo" filename

returns:

boot
book
booze
boots

NOTE: grep prints out every line that contains the word boo.


Simple Search with Line Numbers

grep -n "boo" filename

returns:

1:boot
2:book
3:booze
5:boots

NOTE: Using the -n option prints includes line numbers.


Simple Inverse Search with Line Numbers

grep -vn "boo" filename

returns:

4:machine
6:bungie
7:bark
8:aaradvark
9:robots

NOTE: Using the -v option prints the inverse of the search string.

This is the items not found.


Only determine how many lines contain the Search String

grep -c "boo" filename

returns:

4

NOTE: grep prints out 4 as there are 4 occurrences of the word boo.


Determine which files contain the Search String

grep -l "boo" *

NOTE: The -l option prints only the filenames of files in the query that have lines that match the search string.

This is useful if you are searching through multiple files for the same string.


Ignore Case

grep -i "BOO" filename

NOTE: The -i option will treat upper and lower case as equivalent while matching the search string.


Exact Matches Only

grep -x "boo" filename

NOTE: The -x option looks for eXact matches only.

The result in this example will print nothing, because there are no lines that only contain the pattern boo.


Add additional lines of context

grep -A2 "mach" filename

returns:

machine
boots
bungie

NOTE: The A option will print out the search string plus a number of additional lines.

In this example 2 additional lines.