Tổng quát hơn, bạn có thể sử dụng kết hợp find
và awk
báo cáo việc sử dụng đĩa theo nhóm theo bất kỳ quy tắc nào bạn chọn. Đây là một lệnh nhóm các phần mở rộng tập tin (bất cứ điều gì xuất hiện sau giai đoạn cuối cùng):
# 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];
}
}'
Sẽ sản xuất một cái gì đó như
wav 78167606
psd 285955905
txt 13160