Форум — General Посчитать кол-во подкаталогов на максимальной глубине bash 1 2 Например, если есть такая иерархия: a/ a/b a/b/c a/b/d a/e , то надо посчитать каталоги a/b/c, a/b/d, a/e. Как такое реализовать? Заранее спасибо. Ссылка
ой, тебе каталоги, а я воспринял это как подсчитать количество эцсамых в строке. тупой спуфинг. сейчас, исправлюсь. Spoofing ★★★★★ (09.05.15 12:07:03 MSK) Ссылка
Ну, если нужные каталоги — пустые, можно find -type d -empty -printf x | wc -m Если нет: find -type d -exec bash -c 'shopt -s nullglob; declare -i count=0; for dir; do subdirs=( "$dir"/*/ ); (( ${#subdirs} )) || (( ++count )); done; echo "$count"' _ {} + (ничего не выведет, если таких каталогов нет; можно сделать n=$(…); n=${n:-0}) shdown ★ (09.05.15 13:52:01 MSK) Показать ответ Ссылка
Ответ на: комментарий от shdown 09.05.15 13:52:01 MSK Спасибо Valdor ★★ (09.05.15 14:07:14 MSK) автор топика Ссылка
Посчитать кол-во подкаталогов на максимальной глубинеawk -F '/' '{print NF}' поиск максимального значения средствами awk — твое дом заданиеесли не осилишь, бери sort -rn | head -1 anonymous (09.05.15 14:10:16 MSK) Ссылка
Вот так даже интересней: $ find -type d -printf '%d %p\n' | sort -r -n -t ' ' -k 1,1 | awk '{ if (max=="") max=$1 ; if ($1==max) print $0 ; }' Если в конце поставить | wc -l - получишь количество директорий. А в таком виде - их список. Kroz ★★★★★ (09.05.15 14:27:56 MSK) Ссылка
find -type d | tr -d -C '/\n' | sort | uniq -c | tail -n 1 | awk '{ print $1 }' tiandrey ★★★★★ (09.05.15 20:17:12 MSK) Последнее исправление: tiandrey 09.05.15 20:19:25 MSK (всего исправлений: 1) Ссылка