李雷廷的个人博客分享 http://blog.sciencenet.cn/u/llt001

博文

两个 .gz 文件是否可以直接合并

已有 15207 次阅读 2017-6-7 23:05 |系统分类:科研笔记

这里的直接合并的意思是用 cat 名把两个文件并成一个文件,即,

cat file1.gz file2.gz > merged.gz


答案是这样做是可行的。原因是 gzipped 文件是内部其实是一系列相互独立的数据块,每一个数据块并不依赖其前一个或后一个数据块。


那么这样合并的 .gz 文件和直接生成的文件一致吗?

答案是几乎一致。合并后的文件和直接压缩的文件在数据的 metadata 上会略有差异,但解压后的内容是无差异的。


为了证明这一点,我做了一个测试,3.txt.gz 是直接合并两个 gzip 文件,4.txt.gz 是直接生成的 gzip 文件。两者解压后的内容都是一样的。

MD5 (3.txt.gz) = c002dc32c89a7c9c36b5da6b56e5b3a9

MD5 (4.txt.gz) = 221ef9d7871526c2c5e8e9afa2ffb380


那么是不是以后遇到这样的情况都采取直接合并的策略呢?

答案是未必。原因是直接合并后的 .gz 文件比 直接生成的 .gz 文件要大。这也很容易理解,直接生成的 .gz 文件会压缩得更厉害一点。而之所选择 压缩成 .gz 文件主要原因是要节省硬盘空间的。所以,最终如何做出选择,还是要看时间和空间哪个更重要——“时空关系”。


参考资料:

https://stackoverflow.com/questions/8005114/fast-concatenation-of-multiple-gzip-files



https://blog.sciencenet.cn/blog-656335-1059609.html

上一篇:Genome Research: 亚洲野生水稻驯化历史论文
下一篇:密码子模型 Fequal, F1X4, F3X4 和 F61 是什么意思
收藏 IP: 223.166.231.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-25 21:03

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部