在Linux中,如何检查目录中的所有文件夹,并将列表中所有空目录的名称输出。
答案 0 :(得分:234)
尝试以下方法:
find . -type d -empty
答案 1 :(得分:1)
使用Zsh,您可以执行以下操作:
printf '%q\n' ./*/**/(/DN^F)
将.
替换为所需目录的实际路径,如果要搜索整个文件系统,则将其删除。
来自名为Glob Qualifiers的部分:
F
“完整”(即非空)目录。请注意,相反的含义
(^F)
扩展为空目录和所有非目录。将(/^F)
用于空目录。
/
表示显示目录D
意味着还搜索隐藏文件(在这种情况下为目录)N
启用空模式。即找不到目录的情况不应该导致Glob失败F
表示显示非空目录^
用于取消其后的修饰符的含义将它们全部放入数组中:
empties=(./*/**/(/DN^F))
奖金:要删除所有 empty 目录:
rmdir ./*/**/(/DN^F)
好像我们终于找到了rmdir
的有用案例!