HomeBlogsHow to Exclude Patterns, Files, and Directories With Grep

How to Exclude Patterns, Files, and Directories With Grep

This tutorial is about How to Exclude Patterns, Files, and Directories With Grep. We will try our best so that you understand this guide. I hope you like this blog, How to Exclude Patterns, Files, and Directories With Grep. If your answer is yes, please do share after reading this.

So lets keep reading for intertesting info:

Check How to Exclude Patterns, Files, and Directories With Grep

grep or global regular expression printing is a command line utility to search input files for a search string and return the matching lines; it searches the information that is piped to it or the files in the current directory. Surprisingly, this simple tool is by far one of the most useful Linux command line tools out there; provides several additional and useful features that make search queries less time consuming and more effective. We can achieve this using a wide range of command line options (flag keywords) and regular expression patterns.

The search process of this program is very efficient even when dealing with a large number of directories/files, grep does not store any lines; copies a line to a buffer, checks the search string, then prints the line if a match is found. Although the goal of this tool is to search for a given string, one of its features is to exclude lines matching the given search string from the output while iterating through the directory tree. In this article we will teach you how to exclude patterns, files, directories with grep.

How to exclude patterns, files and directories with Grep

Exclude words and patterns

Use the -v (or –invert-match) option to display only lines that do not match a search pattern.

To print the lines that do not contain the nologin string, run the following command:

  • grep -wv nologin /etc/passwd


  • root:x:0:0:root:/root:/bin/bashgit:x:994:994:git daemon user:/:/usr/bin/git-shellvega:x:1000:1000:vega:/home/ vega:/bin/bash

You must enclose the search string in single or double quotes if it contains spaces.

Use the -e option to define two or more search patterns:

  • grep -wv -e nologin -e bash /etc/passwd

The -e option can be used as many times as necessary.

Another technique to exclude multiple search patterns is to use the OR | to match the patterns.

Perl-compatible, extended, and basic regular expression syntaxes are supported by GNU grep. grep reads the pattern as a regular regular expression by default, which means that metacharacters like | they lose their special meaning and must be replaced with their backslash variants.

The operator | must not be escaped if you use the -E extended regular expression option, as shown below:

  • grep -Ewv ‘nologin|bash’ /etc/passwd

You can choose from a variety of possible matches, such as literal strings or sets of expressions. Lines where string sets appear at the beginning of a line are removed in the following example:

  • grep -v “^games” file.txt

The output of a command can be filtered using grep and pipe, and only the lines that match a specific pattern are printed to the terminal.

For example, you can filter the output of the ps command to print all running processes on your system except those running as root:

Exclude directories and files

You may want to exclude specific directories from the search result when using the -r or -R parameters to run a recursive search.

Use the –exclude-dir option to exclude a directory from the search. The excluded directory path is relative to the search directory path.

Here’s how to search for the string vega in all files in the /etc directory, skipping the /etc/pki directory:

  • grep -R –exclude-dir=pki vega /etc

To exclude multiple directories, use square brackets to enclose them and commas to divide them without spaces.

For example, to discover files on your Linux system that include the string gnu, you would use the following command, excluding the proc, boot, and sys directories:

  • grep -r –exclude-dir={proc,boot,sys} gnu /

You can exclude files whose base name matches the GLOB provided in the –exclude option when performing wildcard matching.

Final words: How to Exclude Patterns, Files, and Directories With Grep

I hope you understand this article, How to Exclude Patterns, Files, and Directories With Grep. If your answer is no, you can ask anything via the contact forum section related to this article. And if your answer is yes, please share this article with your friends and family to give us your support.

James Hogan
James Hogan
James Hogan is a senior staff writer at Bollyinside, where he has been covering various topics, including laptops, gaming gear, keyboards, storage, and more. During that period, they evaluated hundreds of laptops and thousands of accessories and built a collection of entirely too many mechanical keyboards for their own use.


Must Read

- Advertisment -