【发布时间】:2012-02-23 17:24:06
【问题描述】:
在Linux中如何检查目录中的所有文件夹并将所有空目录的名称输出到列表中。
【问题讨论】:
-
man find解释了不同的列表格式。例如,请参阅-print和-print0。
标签: linux
在Linux中如何检查目录中的所有文件夹并将所有空目录的名称输出到列表中。
【问题讨论】:
man find 解释了不同的列表格式。例如,请参阅 -print 和 -print0。
标签: linux
尝试以下方法:
find . -type d -empty
【讨论】:
find / -type d -empty | sort -u
find . -type d -empty。此外,空文件:find . -type f -empty 在当前目录和更深的目录中。
find . -type d -empty -delete?
使用 Zsh,您可以执行以下操作:
printf '%q\n' ./*/**/(/DN^F)
将. 替换为您想要的目录的实际路径,或者如果您想搜索整个文件系统,请将其删除。
来自Glob Qualifiers的部分:
F
“完整”(即非空)目录。请注意,相反的意义
(^F)扩展到空目录和所有非目录。对空目录使用(/^F)。
/ 表示显示目录D 表示也搜索隐藏文件(在本例中为目录)N 启用空模式。即找不到目录的情况不应导致 glob 失败F 表示显示非空目录^ 用于否定它后面的限定词的含义将它们全部放入一个数组中:
empties=(./*/**/(/DN^F))
奖励:删除所有 空 目录:
rmdir ./*/**/(/DN^F)
看来我们终于找到了rmdir 的有用案例!
【讨论】: