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
Simple Search
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.