压缩大的、几乎相同的文件
Compressing large, near-identical files
我有一堆大的 HDF5 文件(大约 1.7G),它们共享很多内容——我猜每个文件的 95% 以上的数据在其他文件中被发现是重复的。
我想将它们压缩到存档中。
我第一次尝试使用 GNU tar
和 -z
选项 (gzip) 失败了:当存档达到 50G 时进程终止(可能是系统管理员强加的文件大小限制)。显然,gzip 无法利用文件在此设置中几乎相同的事实。
压缩这些特定文件显然不需要非常花哨的压缩算法,而是 veeery 耐心的算法。
有没有办法让 gzip
(或其他工具)检测这些大的重复 blob 并避免在存档中重复它们?
听起来你需要的是一个二进制差异程序。您可以为此 google ,然后尝试在其中两个之间使用二进制差异,然后压缩其中一个和由此产生的差异。您可以尝试比较所有组合,选择最小的组合进行压缩,然后只发送一份原件。
我有一堆大的 HDF5 文件(大约 1.7G),它们共享很多内容——我猜每个文件的 95% 以上的数据在其他文件中被发现是重复的。
我想将它们压缩到存档中。
我第一次尝试使用 GNU tar
和 -z
选项 (gzip) 失败了:当存档达到 50G 时进程终止(可能是系统管理员强加的文件大小限制)。显然,gzip 无法利用文件在此设置中几乎相同的事实。
压缩这些特定文件显然不需要非常花哨的压缩算法,而是 veeery 耐心的算法。
有没有办法让 gzip
(或其他工具)检测这些大的重复 blob 并避免在存档中重复它们?
听起来你需要的是一个二进制差异程序。您可以为此 google ,然后尝试在其中两个之间使用二进制差异,然后压缩其中一个和由此产生的差异。您可以尝试比较所有组合,选择最小的组合进行压缩,然后只发送一份原件。