Grep command is one of the best common ones for Unix users. If you use it well, you can improve your productivity using Linux. In this article, I will help you learn grep command in linux with simple examples. I believe that you can be a grep expert after reading this post.
What is Grep command in Linux?
Grep is a command-line tool for looking for lines that match a regular expression in plain-text data sets. The text search pattern is called a regular expression. When it discovers a match, it generates lines contain the result to Terminal. It is an acronym that stands for Global Regular Expression Print. Nowadays, use can use grep without any installation on some Unix-like systems such as Ubuntu, Zorin OS, Fedora, Arch Linux and so on.
Learn Grep command with examples
I created a file named
grep-linux.txt to help you learn grep in Linux. You can create one and follow me.
1. Search for the string in a file
Its basic function is to look for a given string in a specified file, as demonstrated below. To search a string, you can use this command
The above command displays all instances that contain the word
li in the file and outputs the results.
2. Using with ignoring case-sensitivity
In the above example, you learn grep by filtering the word
li in the file, but it only return 2nd line because this line contains exactly
line (lowercase). You can also grep with ignoring case sensitivity by following this command
We use option
--ignore-case to filter words that ignore case sensitivity
3. Finding whole words only
If you follow the first example to find a word that contains the word
is, the result will be line 2 with three matches:
this . To find whole words only, we will use option
This image will help you visualize it better.
4. Learn Grep with Regex
As we know, grep is stands for Global Regex Expression Print, so that you can use Regex to find patterns in files. Let consider this command to find a line that starts with character
5. Counting the number of matches
-c stands for
count. It helps you to display the number of lines where each line has letters matching the pattern. To use this command, you can use:
In the first command, it returns
1 because there is only line 2 contains the
is word. Same as in the 2nd statement, we have 2nd and 5th lines containing the word matching pattern.
6. Find files containing the extension
In Linux, learn grep also allows us to search for files that match the patterns, let’s look at the example of finding files with the extension
You can replace
webp with any other extension to locate specific files. You can also use
regex in the above command.
7. Grep all Files in Directory
To search files in the current directory (or any folder) that contain pattern, we can use an asterisk instead of a filename or location of the folder we want to grep. We can also use option
-r to use recursive search.
8. Find phone number by Grep
You can use regex to filter phone numbers from text files. Note that you must adjust the template to fit the type of phone number you need.
9. Learn Grep to find email address
Same as finding phone numbers, you can also use this command to find email addresses in Linux. To do it, you should run this command:
10. Show lines around result
When working with large files, having the option to select a search that displays the lines before, after, or around the result line can be useful. Using this grep’s option to do it:
After reading this article, I hope you can use this command after I help you learn grep. If you are needed, please leave a comment below, I will try my best to help you.