grep searches the input files for lines containing a match to a given pattern list. When it finds a match in a line, it copies the line to standard output (by default), or does whatever other sort of output you have requested with options.

grep can simply be invoked: $ grep ‘STRING’ filename

This is OK but it does not show the true power of grep. First this only looks at one file. A cool example of using grep with multiple file would be to find all files in a directory that contains the name of a person. This can be easily accomplished using a grep in the following way :

$ grep ‘Nikesh J’ *

Notice the use of single quotes; This are not essential but in this example it was required since the name contains a space. Double quotes could also have been used in this example.

Grep Regular Expression

grep can search for complicated pattern to find what you need. Here is a list of some of the special characters used to create a regular expression:

`.’ The period `.’ matches any single character.

`?’ The preceding item is optional and will be matched at most once.

`*’ The preceding item will be matched zero or more times.

`+’ The preceding item will be matched one or more times.

So an example of a regular expression search would be: $ grep “\<[A-Za-z].*” file

This will search for any word which begins with a letter upper or lower case.

For more details check: $ man grep