Search for a String Pattern in a File

$ cat apple.txt
core
worm seed
jewel
$ grep jewel apple.txt
jewel                                    
$ cat basket.txt
Layer1 = cloth
Layer2 = strawberries
Layer3 = fish
Layer4 = chocolate
Layer5 = punch cards
$ grep h basket.txt
Layer1 = cloth
Layer3 = fish
Layer4 = chocolate
Layer5 = punch cards                       
$ grep l basket.txt
Layer1 = cloth
Layer4 = chocolate
$ grep -i l basket.txt
Layer1 = cloth
Layer2 = strawberries
Layer3 = fish
Layer4 = chocolate
Layer5 = punch cards                
$ grep -v fish basket.txt
Layer1 = cloth
Layer2 = strawberries
Layer4 = chocolate
Layer5 = punch cards                
$ 

Another handy option of grep -w is to search for a string in a file as a word (that is, where it appears alone, with just non-letters before or after it). For example:

$ cat box7.txt
hamhocks + peas
ham sandwiches
gotham, new york + beans
ham+cheese
ham
anna=ham
$ grep -w ham box7.txt
ham sandwiches
ham+cheese
ham                                            
anna=ham
$

You can also use the single quotes to enclose strings with spaces. For example:

$ cat stuff.txt
rock + paper
scissors
fish
rock paper
sand + rock
paper + paper + scissors
roll +rock           
$ grep ' rock' stuff.txt
sand + rock
$ grep ' +rock' stuff.txt
roll +rock          
$ 

You can also look for strings containing special symbols such as ^ for the start of a line and $ for the end of a line. Continuing with the stuff.txt file as in the previous example, we can do this:

$ grep '^rock' stuff.txt
rock + paper
rock paper       
$ grep 'rock$' stuff.txt
sand + rock
roll +rock        
$ 

See also: egrep for searching for regular expressions.

search Search · star Market
2023-06-01 · John December · Terms © johndecember.com