如何在linux中列出空文件夹

问题描述 投票:0回答:3

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

linux
3个回答
322
投票

尝试以下操作:

find . -type d -empty

5
投票

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

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

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


来自名为 Glob Qualifiers 的部分:

F

“完整”(即非空)目录。请注意,相反的含义

(^F)
扩展到空目录和所有非目录。对于空目录使用
(/^F)

  • /
    表示显示目录
  • D
    表示还搜索隐藏文件(本例中为目录)
  • N
    启用空模式。即找不到目录的情况不应导致 glob 失败
  • F
    表示显示非空目录
  • ^
    用于否定其后面的限定词的含义

将它们全部放入数组中:

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

奖励:要删除所有目录:

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

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

rmdir


0
投票

要列出 Linux 中的空文件夹,可以使用 find 命令。打开终端并运行以下命令:

查找/dev -type d -empty

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.