如何在linux上列出非空子目录?

时间:2009-05-02 21:27:56

标签: bash unix directory

我有一个包含多个子目录的目录。我只想列出包含至少一个文件的子目录。我怎么能这样做?

3 个答案:

答案 0 :(得分:52)

 find . -mindepth 1 -maxdepth 1 -not -empty -type d

将为您提供所有非空目录。如果要排除仅包含其他目录(但没有文件)的目录,其他一个答案可能会更好......

答案 1 :(得分:7)

find . -type f -print0 | xargs -0 -n 1 dirname | sort -u

答案 2 :(得分:3)

怎么样:

find /nominated/directory -type f |
sed 's%/[^/]*$%% |
sort -u

查找文件 - 删除文件名部分 - 唯一排序。

它不会列出仅包含其他子子目录的子目录。