Я пишу сценарий кш. Необходимо найти все имена каталогов непосредственно в текущем каталоге, которые содержат только файлы, а не подкаталоги.
Я знаю, что мог бы использовать ls -alR
и рекурсивно анализировать выходные данные для первой буквы в первом поле ( d
для каталога). Я думаю, что awk
это лучший способ разобрать и найти.
Например, простой ls -al
вывод в текущем каталоге:
drwxr-xr-x 22 af staff 748 18 Mar 22:21 .
drwxr-xr-x 5 root admin 170 17 Mar 18:03 ..
-rw------- 1 af staff 3 17 Mar 16:37 .CFUserTextEncoding
drwxr-xr-x 5 af staff 170 17 Mar 17:12 Public
drwxr-xr-x 9 af staff 306 18 Mar 17:40 Sites
-rw------- 1 af staff 3 17 Mar 16:37 textd
…
В этом выводе 2 каталога: Public
и Sites
. Каталог Public
не содержит подкаталогов, но содержит Sites
. Есть 3 подкаталога в Sites
. Поэтому мне нужно отображать только те каталоги, в которых нет каталогов. В моем случае это только Sites
.