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

Если у вас Office 365 Excel, используйте следующую формулу массива:

=TEXTJOIN(",",TRUE,IF(LEN(TRIM(MID(SUBSTITUTE(A4,"|",REPT(" ",99)),(ROW($XFD$1:INDEX(XFD:XFD,LEN(A4)-LEN(SUBSTITUTE(A4,"|",""))+1))-1)*99+1,99)))>15,TRIM(MID(SUBSTITUTE(A4,"|",REPT(" ",99)),(ROW($XFD$1:INDEX(XFD:XFD,LEN(A4)-LEN(SUBSTITUTE(A4,"|",""))+1))-1)*99+1,99)) & " has " & LEN(TRIM(MID(SUBSTITUTE(A4,"|",REPT(" ",99)),(ROW($XFD$1:INDEX(XFD:XFD,LEN(A4)-LEN(SUBSTITUTE(A4,"|",""))+1))-1)*99+1,99))) & " Characters.",""))

Будучи формулой массива, она должна быть подтверждена с помощью Ctrl-Shift-Enter вместо Enter при выходе из режима редактирования.

enter image description here

Без Office 365 мы можем вернуть стандартный возврат, но не фактическую длину

=IF(OR(LEN(TRIM(MID(SUBSTITUTE(A2,"|",REPT(" ",99)),(ROW($XFD$1:INDEX(XFD:XFD,LEN(A2)-LEN(SUBSTITUTE(A2,"|",""))+1))-1)*99+1,99)))>15),"This cell has an entry with too many Characters","")

Это все еще формула массива, она должна быть подтверждена с помощью Ctrl-Shift-Enter вместо Enter при выходе из режима редактирования.

enter image description here

27
задан 7ochem 8 January 2016 в 15:36
поделиться

3 ответа

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

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

54
ответ дан 28 November 2019 в 04:42
поделиться
find . -type f -print0 | xargs -0 -n 1 dirname | sort -u
7
ответ дан 28 November 2019 в 04:42
поделиться

Как насчет:

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

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

В нем не будут перечислены подкаталоги, содержащие только другие подкаталоги.

3
ответ дан 28 November 2019 в 04:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: