Подтвердить что ты не робот

Как перечислить непустые подкаталоги в Linux?

У меня есть каталог, содержащий несколько подкаталогов. Я хочу перечислить только те подкаталоги, которые содержат хотя бы один файл. Как я могу это сделать?

4b9b3361

Ответ 1

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

предоставит вам все непустые каталоги. Если вы хотите исключить каталоги, содержащие только другие каталоги (но без файлов), один из других ответов может быть лучше...

Ответ 2

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

Ответ 3

Как насчет:

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

Найти файлы - отбросить имя файла - сортировать однозначно.

Он не будет перечислять подкаталоги, содержащие только другие под-подкаталоги.