我有数百个要压缩的类似大文件(每个文件30兆字节)。每对文件都具有99%的相同数据(相差不到1%),因此我希望归档文件不超过40-50兆字节。
单个文件可以从30 MB压缩到13-15 MB(有xz -1
,gz -1
,bzip2 -1
),但在压缩两个或多个文件时,我想有存档与大小13-15MB + N*0.3MB
,其中N是文件的数量。
当使用tar
(创建可靠的存档)和xz -6
(将压缩字典定义为大于一个文件- 更新-这还不够!)时,我仍然拥有size的存档N*13MB
。
我认为无论是gzip
和bzip2
不会帮助我,因为他们有字典小于1 MB,和我的焦油物流有重复,每30 MB。
如何使用标准工具在现代Linux中存档我的问题?
是否可以调整xz
以快速压缩,但使用大于30-60 MB的字典?
更新:做到了tar c input_directory | xz --lzma2=dict=128M,mode=fast,mf=hc4 --memory=2G > compressed.tar.xz
。不确定必要的mf=hc4
和--memory=2G
选项;但dict=128M
将字典设置为足够大(大于一个文件),mode=fast
并使处理过程比快-e
。
xz -1 --memory=2G
无济于事,已对2个和4个文件进行了测试。