首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有合并两个GZIP文件而不解压的GZIP合并?

有没有合并两个GZIP文件而不解压的GZIP合并?
EN

Stack Overflow用户
提问于 2008-11-08 01:37:07
回答 2查看 12.8K关注 0票数 14

假设有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文件的字节边界,则可以合并它。

事实上,我想为这个问题写一个开源程序,但不知道如何发布它。所以我请Joel做我的项目经理,我向他解释和辩护,他终于明白了我想做什么,但他说他太忙了。:(

当然,我也可以自己写一个,然后试着用我的方式发布它。但我不能一个人做这件事,因为我的日常工作属于我雇主的财产。

有志愿者吗?我们可以做程序员(我)、出版商(你)或程序员(你)、出版商(我)。我需要的只是一些功劳。我曾经实现过一个用RFC3320描述的通用解压虚拟机。所以我知道这是可行的。

或者,你可以带我去看那个节目。它对于管理日志文件非常有用,比如将365 (天)的gzipped日志文件合并为一个。;)

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2008-11-08 01:44:59

当然,

a.gz b.gz > c.gz不起作用。

实际上,它工作得很好。我刚测试过了。它甚至在gzip手册页(某种程度上)中有所记录。

代码语言:javascript
复制
   Multiple  compressed  files  can  be concatenated. In this case, gunzip
   will extract all members at once. For example:

         gzip -c file1  > foo.gz
         gzip -c file2 >> foo.gz

   Then

         gunzip -c foo

   is equivalent to

         cat file1 file2
票数 34
EN

Stack Overflow用户

发布于 2012-07-13 05:52:48

您还可以:

代码语言:javascript
复制
zcat a.gz b.gz > c.txt && gzip c.txt

只要您的Linux/Unix发行版内置了zcat,大多数发行版都内置了zcat(您可以为没有内置zcat的发行版安装它)。

或者:

代码语言:javascript
复制
zcat a.gz b.gz | gzip -c > c.txt.gz
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/274185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档