Table of Contents
How to 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