Grep is a very important & powerful Linux commands. It stands for 'Global Regular Expression Print' & is used for matching & printing a search pattern or a regular expression from a single or multiple text files. It will look for the pattern if the mentioned files & will than print the result on screen or to an output file.

In this tutorial, we are going to learn to use grep command with examples. Syntax for the command is as follows,

$ grep option search_pattern file_path

Now let's start to use grep command with examples.....

(Recommended Read: Useful Linux Commands that you should know)


Grep command with examples


Searching a pattern from a single file

To search & locate a pattern from a single file, use the following command,

$ grep danger example.txt

This will look for all the lines with word 'danger' in the file 'example.txt' & will produce the result on screen.

Search a pattern in multiple files

We can also search the pattern from multiple files, using the following command,

$ grep danger example.txt test.txt

Another example would be,

$ grep danger *.*

This will look for search pattern 'danger' in all the files with any name or extension.

Redirecting output to a file

Just like we can do with any other command, we can also redirect the output of the grep command to a file, use

$ grep danger example.txt > output.txt

Case insensitive search

Grep searches are case sensitive by default. If we need to run case-insensitive search, we can use 'i' option with grep command,

$ search -i danger example.txt

This will print any variation of search pattern 'danger', 'DANGER' or 'Danger' or 'daNGer' as the output on the screen.

Searching a pattern in sub-directories

We can also search a pattern in sub-directories & all the files they contain by using 'r' option,

$ grep -r danger /home/dan

Display line number for search pattern

To display the line number on the which search pattern has matched, we can use 'n' option with grep command,

$ grep -n danger example.txt

Highlight the matched pattern

To highlight the matched search pattern, we can use 'color' with grep command,

$ grep -color danger example.txt

Print lines starting with the pattern

To print all the lines as output on screen which starts with out search pattern, we can use '^' (carrot symbol) option ,

$ grep ^danger example.txt

Print lines ending with the pattern

To print all the lines that end with the search pattern, use '$' symbol,

$ grep danger$ example.txt

Print all lines excluding the matched ones

To print all the lines, excluding the lines which have the matched search pattern, we can use 'v' option,

$ grep -v danger example.txt

Combining grep with another command

We can also use grep command to search a pattern from another command's output. For example, we need to get the process information about httpd from all the running processes, we can combine grep command with 'ps' command,

$ ps -ef | grep httpd

This will bring process information for httpd. Similarly we can use this for other services & other commands as well. Another example,

$ netstat -anp | grep 3306

This will produce list of all connections with mysql database.

With this we end our tutorial on learning grep command with examples. These were only some examples & we have only covered some of the most commonly used grep command's options, but there are plenty more options, which you can see with 'grep –help' command.

Please do leave your valuable comments, feedback or questions using the comment box below

If you think we have helped you or just want to support us, please consider these :-

Connect to us: Facebook | Twitter | Google Plus

Donate us some of you hard earned money: [paypal-donation]

Linux TechLab is thankful for your continued support.