JDiskReport имеет вкладку для отображения использования диска по типу файла, но данные типа основаны на расширениях файлов, а не на фактическом содержимом.
В противном случае вот скрипт, который использует file
для определения типов:
$ ./disk_usage_by_file_type -c /dir/to/analyze
Collecting file type data, please wait ...
Done. Now run 'disk_usage_by_file_type -s' to print disk usage.
(займет некоторое время, если каталог большой)
$ ./disk_usage_by_file_type -s
...
154 Mb : application|pdf; charset=binary
170 Mb : video|x-msvideo; charset=binary
227 Mb : application|x-iso9660-image; charset=binary
690 Mb : application|octet-stream; charset=binary
810 Mb : audio|mpeg; charset=binary
Чтобы получить список всех файлов + размеров для заданного типа (типов), отсортированных по размеру файла:
$ ./disk_usage_by_file_type -d 'image|jpeg' | sort -n
...
590: /share/pictures/screenshot.jpg
1017: /share/pictures/cd_cover/Wheel cutout+drop.jpg
16496: /share/pictures/photos/landscape.jpg
17642: /share/pictures/photos/contrast.jpg