2

У меня есть общий ресурс samba с моей музыкой, и я хотел бы выяснить, сколько места на диске занимают только mp3-файлы (а не что-либо смешанное с моей музыкой, например изображения или видео, или любые другие типы файлов, такие как flac, aac или ogg). Принятие. Я пробовал baobab, gdmap и ncdu, и на самом деле не хочу в основном устанавливать весь KDE, чтобы попробовать filelight (который, похоже, тоже не может этого делать).

Я могу получить большой список того, что все собирается переместить (find ~/moremusic -name "*.mp3"), но AFAIK это не совсем полезно. Если я сделаю что-то вроде du -a ~/moremusic | grep ".mp3" Я получаю целый большой список, каждая строка которого начинается с размера файла в килобайтах. Просто нужно сложить это, и я буду в порядке, но я понятия не имею, лучший способ сделать это.

2 ответа2

2

С bash 4.x

shopt -s globstar; du **/*.mp3 | awk '{sum+=$1}END{print sum}'

С find

find . -type f -name "*.mp3" -exec du {} + | awk '{sum+=$1}END{print sum}'
0

Дает общий размер в байтах:

echo $(($(find ~/moremusic -name "*.mp3" -printf %s+)0))

Использует find для создания строки отдельных размеров в байтах, заканчивающейся на «+». Эта строка с окончанием "0", чтобы оболочка не жаловалась на пустой оператор, передается встроенной функции калькулятора оболочки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .