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

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

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

bash unix directory
4个回答
87
投票
 find . -mindepth 1 -maxdepth 1 -not -empty -type d

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


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

5
投票

怎么样:

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

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

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


0
投票
du * -hs | grep 4,0K -v

对我有用 du * -hs 列出目录中有多少内容 grep 4,0k 列出空目录,-v 反转 grep 搜索

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