![在(本机 Solaris)find 命令中排除目录](https://linux22.com/image/70967/%E5%9C%A8%EF%BC%88%E6%9C%AC%E6%9C%BA%20Solaris%EF%BC%89find%20%E5%91%BD%E4%BB%A4%E4%B8%AD%E6%8E%92%E9%99%A4%E7%9B%AE%E5%BD%95.png)
我试图/zones
在find
命令中排除该目录。我没有可用的 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
、...)。