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 Check if String Contains Substring in Bash
How to Uninstall Asterisk in Ubuntu
How to Rsync Files Between Two Servers
How to Flush DNS Cache in Windows, Linux & Mac
How to Rename Downloaded File in Wget
Shell Script to Count Number of Files in Directory
How to Split Large File into Smaller Files
How to View Hidden Files in Linux
Sreeram has more than 10 years of experience in web development, Python, Linux, SQL and database programming.