【发布时间】:2010-09-21 09:52:31
【问题描述】:
假设有 a.gz 和 b.gz。
$ gzip_merge a.gz b.gz -output c.gz
我想要这个程序。当然,
$ cat a.gz b.gz > c.gz
不起作用。因为a.gz的最终DEFLATE块有BFINAL,b.gz的GZIP头。 (参考RFC1951、RFC1952)但是如果你取消了BFINAL,丢掉第二个GZIP头,穿过第二个gzip文件的字节边界,就可以合并了。
其实我也想过为这件事写一个开源程序,但是不知道怎么发布。所以我请乔尔做我的项目经理,我给他讲解了我的解释和辩护,他终于明白了我想做什么,但说他太忙了。 :(
当然,我可以自己写一个并尝试以我的方式发布它。但我不能一个人做这件事,因为我的日常工作属于我雇主的财产。
有志愿者吗?我们可以作为程序员(我)、出版商(你)或程序员(你)、出版商(我)工作。我需要的只是一些信用。我曾经实现过 RFC3320 中描述的通用解压器虚拟机。所以我知道这是可行的。
或者,您可以将我指向那个程序。这对于管理日志文件非常有用,例如将 365(天)gzip 压缩的日志文件合并为一个。 ;)
谢谢。
【问题讨论】:
-
只是出于好奇,为什么你想这样做?如果您只想将某些内容表示为单个文件,为什么不直接压缩它呢?
-
如果您有一个 MVC 框架并希望加快页眉模板、动态内容模板和页脚模板的交付,您会选择压缩。如果你预先压缩一个页眉模板和一个页脚模板,它可以加快速度。