在(本机 Solaris)find 命令中排除目录

在(本机 Solaris)find 命令中排除目录

我试图/zonesfind命令中排除该目录。我没有可用的 GNU 找到,只有本机 Solaris find

我尝试过这样的事情:

find / -type d ! -name zones

问题是,通过此排除,我还会丢失子目录,例如/etc/zones.

有没有办法指定完整的目录名称,例如:

find / -type d ! -name ^\/zones

我已经测试了很多方法,但我不能/在字符串前面包含 。

答案1

这是一种便携式方法:

find / -type d -exec test {} = /zones \; -prune -o -type d -print

请注意,GNU find 可能在备用目录中可用,具体取决于您使用的 Solaris 发行版(如/usr/sfw/bin/gfind/usr/gnu/bin/find、...)。

相关内容