Monday, June 22, 2009

GREP _ the most useful command

grep command syntax

grep 'word' filename

grep 'string1 string2'  filename
cat otherfile | grep 'something'
command | grep 'something'
 
Use grep to search file

Search /etc/passwd for boo user:
$ grep boo /etc/passwd
   
You can force grep to ignore word case i.e match boo, Boo, BOO and all other combination with -i option:

$ grep -i "boo" /etc/passwd
Use grep recursively

You can search recursively i.e. read all files under each directory for a string "192.168.1.5"
$ grep -r "192.168.1.5" /etc/

Use grep to search 2 different words

use egrep as follows:
$ egrep -w 'word1|word2' /path/to/file

Count line when words has been matched

grep can report the number of times that the pattern has been matched for each file using -c (count) option:
$ grep -c 'word' /path/to/file

Also note that you can use -n option, which causes grep to precede each line of output with the number of the line in the text file from which it was obtained:
$ grep -n 'word' /path/to/file

Grep invert match

You can use -v option to print inverts the match; that is, it matches only those lines that do not contain the given word. For example print all line that do not contain the word bar:
$ grep -v bar /path/to/file

Colour

Finally, you can force grep to display output in colors:
$ grep --color vivek /etc/passwd

list file name

Use the -l option to list file name whose contents mention main():
$ grep -l 'main' *.c

No comments:

Post a Comment