如何在 Solaris 11 中查找空目录并删除。
我尝试这个:
find . -type d -empty
输出:
find: bad option -empty find: [-H | -L] path-list predicate-list
答案1
Solaris 中默认没有 -empty,如果有的话/usr/xpg4/bin/find
应该支持它
另一种方法是编写如下脚本:
find . -type d|while read name; do if (( $(ls -al $name|wc -l) == 3 )); then echo $name; fi; done
答案2
该-empty
论点是对POSIX 标准化find
实用程序。
Solaris 11 应该find
在gfind
某处安装 GNU。
答案3
这是另一个例子。这应该会运行得更快。
它基于 'ls -ed' 命令的输出,该命令用目录内容信息替换目录的大小字段(第五个)。空目录的此字段中始终为“2”。
xargs 还用于减少要执行的命令数量。
find . -type d | xargs -i ls -ed {} | awk '{if ($5=="2"){ print $0 }}'