【问题标题】:How to list empty folders in linux如何在linux中列出空文件夹
【发布时间】:2012-02-23 17:24:06
【问题描述】:

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

【问题讨论】:

标签: linux


【解决方案1】:

尝试以下方法:

find . -type d -empty

【讨论】:

  • 您需要将“/”更改为要用作搜索根目录的目录。
  • 谢谢!它在我的系统上运行良好。要获得排序列表,请使用:find / -type d -empty | sort -u
  • 顺便说一句,要删除: find 。 -type d -empty -exec rmdir {} \;
  • 当前目录中的空目录:find . -type d -empty。此外,空文件:find . -type f -empty 在当前目录和更深的目录中。
  • @Scott - 为什么不find . -type d -empty -delete
【解决方案2】:

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

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

. 替换为您想要的目录的实际路径,或者如果您想搜索整个文件系统,请将其删除。


来自Glob Qualifiers的部分:

F

“完整”(即非空)目录。请注意,相反的意义(^F) 扩展到空目录和所有非目录。对空目录使用(/^F)

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

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

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

奖励:删除所有 目录:

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

看来我们终于找到了rmdir 的有用案例!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-23
    • 1970-01-01
    • 2023-03-27
    • 2015-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多