如何在 linux 中列出空文件夹

在 Linux 中,我如何检查一个目录中的所有文件夹,并将所有空目录的名称输出到一个列表中。

81574 次浏览

试试以下方法:

find . -type d -empty

使用 Zsh,您可以执行以下操作:

printf '%q\n' ./*/**/(/DN^F)

用所需目录的实际路径替换 .,如果要搜索整个文件系统,则删除它。


来自 全球限定词部分:

F

‘ full’(即非空)目录。请注意,相反的意义 (^F)扩展到空目录和所有非目录。对于空目录使用 (/^F)

  • /表示显示目录
  • D还意味着搜索隐藏文件(本例中的目录)
  • 启用 null 模式。也就是说,没有找到任何目录的情况不会导致 globb 失败
  • F表示显示非空目录
  • ^用于否定后面的限定词的含义

将它们全部放入一个数组中:

empties=(./*/**/(/DN^F))

奖励: 删除所有 空荡荡的目录:

rmdir ./*/**/(/DN^F)

看来我们终于找到了一个有用的案件 rmdir