Число счетчиков файлов каждого подкаталога

У меня сотни каталогов в каталоге видео . Я хочу подсчитать количество файлов в каждом подкаталоге. Для каждого подкаталога я могу использовать ls -1 | wc -l для подсчета количества файлов в нем. Но не могу вручную повторить команду сто раз. Не могли бы вы рассказать мне другие команды для подсчета количества файлов в каждом подкаталоге? Огромное спасибо.

0
задан 13 August 2020 в 10:52

1 ответ

Простое использование find и wc

MusicDir='/home/MyUser/Music'
find "$MusicDir" -type d | while read D; do echo -e "$(find "$D" -type f | wc -l)\t$D"; done

## Example OUTPUT
206 ./AC-DC
9   ./AC-DC/1975 - High Voltage (Australia Only)
11  ./AC-DC/1975 - T.N.T (Australia Only)
10  ./AC-DC/1976 - Dirty Deeds Done Dirt Cheap (International version)
10  ./AC-DC/1976 - High Voltage (International version)
10  ./AC-DC/1977 - Let There Be Rock
11  ./AC-DC/1978 - Powerage
11  ./AC-DC/1979 - Highway To Hell
13  ./AC-DC/1980 - Back In Black
11  ./AC-DC/1981 - For Those About To Rock (We Salute You)
11  ./AC-DC/1983 - Flick Of The Switch
6   ./AC-DC/1984 - 74 Jailbreak
11  ./AC-DC/1985 - Fly On The Wall
11  ./AC-DC/1988 - Blow Up Your Video
14  ./AC-DC/1990 - The Razor's Edge
13  ./AC-DC/1995 - Ballbreaker
13  ./AC-DC/2000 - Stiff Upper Lip
16  ./AC-DC/2008 - Black Ice
12  ./AC-DC/2014 - Rock or Bust

Вывод также может быть отсортирован (второй столбец, альфа)

MusicDir='/home/MyUser/Music'
find "$MusicDir" -type d | while read D; do echo -e "$(find "$D" -type f | wc -l)\t$D"; done | sort -k2
3
ответ дан 21 August 2020 в 08:01

Другие вопросы по тегам:

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