删除 AIX 中的空目录
有没有一种简单的方法来查找并删除特定路径下的所有空目录?由于 -empty 在 AIX find 命令中不可用
Is there an easy way to find and remove all empty directories under a specific path? Since -empty is not available in AIX find command
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
该问题适用于不支持(非标准)“-empty”限定符的所有 UNIX 版本。
上面答案中的第一个链接提到了“-exec”选项,但是这需要为每个目录使用 fork() / exec() ,这可能有点多。一个更简单的解决方案是使用 xargs 和 rmdir。需要注意的是,如果文件名中存在特殊字符的文件,如果您不使用“-print0”选项来“查找”,不使用“-0”选项来“xargs”,则可能会混淆 xargs。
更好更快的解决方案是
find -type d -depth -print0 | xargs --null rmdir
假设您的“find”和“xargs”命令支持给定的非标准选项。
The question applies to all versions of UNIX that don't support the (non-standard) "-empty" qualifier.
The first link in the answer above mentions the "-exec" options, however that would require a fork() / exec() for each and every directory, which can be a bit much. A far easier solution would be to use xargs and rmdir. One caveat -- if there are files with special characters in the file name, it can confuse xargs if you don't use the "-print0" option to "find" and the "-0" option to "xargs".
A better and faster solution would be
find -type d -depth -print0 | xargs --null rmdir
assuming your "find" and "xargs" commands support the non-standard options that are given.
请参阅此链接或<一个href="http://www.unix.com/unix-dummies-questions-answers/49739-how-find-empty-folders-without-using-empty.html" rel="nofollow">此链接 寻找可能性。
您还可以使用 GNU find(作为 Linux 工具箱的一部分安装在
/opt/freeware/bin/find
或/usr/linux/bin/find
中吗?顺便说一下,我经常在 AIX5.2+ 上使用它们。然而,作为脚本或工具的一部分,我不会依赖它们......See this link or this link for possibilities.
Also can you use GNU find, installed as part of the linux toolbox in
/opt/freeware/bin/find
or/usr/linux/bin/find
? For one offs, I use them quite often on AIX5.2+. As part of a script or tool I wouldn't rely on them however...