根据文件类型分析磁盘使用情况

emk*_*203 5 linux file-management hard-drive resource-usage

我想按文件类型分析磁盘使用情况,如果可能的话还进行排序和查找。换句话说,文件实用程序的输出作为分析或排序的标准。

因此,无论文件名如何,命令或脚本都应该查看文件,确定其类型,并根据结果进行排序或磁盘使用情况分析。

是否有捷径可寻?

lem*_*eze 4

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.
Run Code Online (Sandbox Code Playgroud)

(如果目录很大,需要一段时间)

$ ./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
Run Code Online (Sandbox Code Playgroud)

要获取给定类型的所有文件+大小的列表(按文件大小排序):

$ ./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
Run Code Online (Sandbox Code Playgroud)