В более общем смысле вы можете использовать комбинацию find
и, awk
чтобы сообщать о группировке дискового пространства по любому выбранному вами правилу. Вот команда, которая группирует по расширениям файлов (все, что появляется после последнего периода):
# output pairs in the format: `filename size`.
# I used `nawk` because it's faster.
find -type f -printf '%f %s\n' | nawk '
{
split($1, a, "."); # first token is filename
ext = a[length(a)]; # only take the extension part of the filename
size = $2; # second token is file size
total_size[ext] += size; # sum file sizes by extension
}
END {
# print sums
for (ext in total_size) {
print ext, total_size[ext];
}
}'
Будет производить что-то вроде
wav 78167606
psd 285955905
txt 13160