Sometimes you may need to exclude one or more words, or even patterns while using grep to search in a file. In this article, we will look at how to exclude word pattern in grep command.
Grep Exclude Word Pattern
It is very easy to exclude word pattern in grep using -v option, which means inverse match. Here is the syntax for it.
grep -v "unwanted_word" file_path
In the above command, you need to specify the word that you want to exclude after -v option, and then mention path of the file to be searched.
Here is an example to list all lines in file /etc/data.txt which does not contain the word total.
$ sudo grep -v "total" /etc/data.txt
You may pipe the output of above command to search for a word, e.g. column
$ sudo grep -v "total" /etc/data.txt | grep "column"
If you want to match a word but exclude another word, you can use the above command, or the below one.
$ sudo grep "column" /etc/data.txt | grep -V "total"
If you want to exclude multiple words or patterns, you can pipe the output of one grep -v command to the next. Here is the command to exclude both total and sum from our file.
$ sudo grep -v "total" /etc/data.txt | grep "sum"
That’s it. As you can see, it is really easy to exclude one or more words or patterns, using grep -v option.
Also read :
How to Install Fail2ban in CentOS 7
How to Copy File to Multiple Directories in Linux
Shell Script to Loop Through Files in Directory
How to Loop Over Lines of File in Bash
Shell Script To Tar Multiple Files & Directories
Related posts:
How to Keep SSH Session Alive After Disconnect in Linux
How to Get Size of Directory in Linux
Shell Script to Concatenate Strings
How to Deny SSH Access to Users or Groups
How to Disconnect User from SSH Connection
How to Increase SSH Connection Timeout
How to Set Timeout in cURL
What To Do After Installing Ubuntu

Sreeram has more than 10 years of experience in web development, Python, Linux, SQL and database programming.