Exclude a directory or multiple directories using find command

Quick view on >> Find command and switches <<

Method 1 : Using the option “-prune -o”

We can exclude directories by using the help of “path“, “prune“, “o” and “print” switches with find command.
See the example:

# find ./ -path ./bit/* -prune -o -iname findme -print
./com/findme
./cry/findme

Method 2 : Using “! -path”

This is not much complicated compared to first method. See the example pasted below:

# find -iname findme ! -path ./bit/*
./com/findme
./cry/findme

Method 3 : Simple 

Yes, it’s very simple. We can ignore the location by using inverse grep “grep -v” option.

See the example:

# find -iname findme|grep -v bit
./com/findme
./cry/findme

Excluding multiples directories

Similar way we can exclude multiple directories also. See the sample outputs:

# find -iname findme ! -path ./bit/* ! -path ./cry?*
./com/findme

Or

# find -iname findme | egrep -v "bit|cry"
./com/findme

 


Exclude a directory or multiple directories using find command, Hostripples Web Hosting

Vishwajit Kale

Vishwajit Kale blazed onto the digital marketing scene back in 2015 and is the digital marketing strategist of Hostripples, a company that aims to provide affordable web hosting solutions. Vishwajit is experienced in digital and content marketing along with SEO. He's fond of writing technology blogs, traveling and reading.