How to exclude this / current / dot folder from find "type d"
POSIX 7 solution:
find . ! -path . -type d
For this particular case (.
), golfs better than the mindepth
solution (24 vs 26 chars), although this is probably slightly harder to type because of the !
.
To exclude other directories, this will golf less well and requires a variable for DRYness:
D="long_name"
find "$D" ! -path "$D" -type d
My decision tree between !
and -mindepth
:
- script? Use
!
for portability. - interactive session on GNU?
- exclude
.
? Throw a coin. - exclude
long_name
? Use-mindepth
.
- exclude
Not only the recursion depth of find
can be controlled by the -maxdepth
parameter, the depth can also be limited from “top” using the corresponding -mindepth
parameter. So what one actually needs is:
find . -mindepth 1 -type d