假设有 a.gz 和 b.gz。
$ gzip_merge a.gz b.gz -输出 c.gz
我想要这个程序。当然,
$ cat a.gz b.gz > c.gz
不起作用。因为a.gz的最终DEFLATE块有BFINAL,b.gz的GZIP头。(参考 RFC1951, RFC1952) 但是如果你取消了 BFINAL,丢掉第二个 GZIP 头并且遍历第二个 gzip 文件的字节边界,你可以合并它。
其实我也想过为这件事写一个开源程序,但是不知道怎么发布。所以我请乔尔做我的项目经理,我给他讲解了我的解释和辩护,他终于明白了我想做什么,但说他太忙了。:(
当然,我可以自己写一个,然后尝试以我的方式发布它。但我不能一个人做这件事,因为我的日常工作属于我雇主的财产。
有志愿者吗?我们可以作为程序员(我)、出版商(你)或程序员(你)、出版商(我)工作。我需要的只是一些信用。我曾经实现过 RFC3320 中描述的通用解压器虚拟机。所以我知道这是可行的。
或者,您可以将我指向那个程序。这对于管理日志文件非常有用,例如将 365(天)gzip 压缩日志文件合并为一个。;)
谢谢。