首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Deflate命令行工具?

Deflate命令行工具?
EN

Stack Overflow用户
提问于 2018-05-07 01:44:04
回答 2查看 0关注 0票数 0

我正在寻找DEFLATE算法的命令行包装器。

我有一个使用DEFLATE压缩的文件(git blob),我想解压缩它。gzip命令似乎没有直接使用DEFLATE算法的选项,而不是gzip格式。

理想情况下,我正在寻找一个可以做到这一点的标准Unix / Linux工具。

编辑:这是我尝试使用gzip解决我的问题时得到的输出:

代码语言:javascript
复制
$ cat .git/objects/c0/fb67ab3fda7909000da003f4b2ce50a53f43e7 | gunzip

gzip: stdin: not in gzip format
EN

回答 2

Stack Overflow用户

发布于 2018-05-07 10:09:39

这些可以通过pigz预先打包在几个Linux发行版中的工具解压缩:

代码语言:javascript
复制
$ cat foo.txt 
file foo.txt!

$ git ls-files -s foo.txt
100644 7a79fc625cac65001fb127f468847ab93b5f8b19 0   foo.txt

$ pigz -d < .git/objects/7a/79fc625cac65001fb127f468847ab93b5f8b19 
blob 14file foo.txt!

这是一个小例子:

代码语言:javascript
复制
#include <assert.h>
#include <string.h>
#include "puff.h"

int main( int argc, char **argv ) {
    unsigned char dest[ 5 ];
    unsigned long destlen = 4;
    const unsigned char *source = "\x4B\x2C\x4E\x49\x03\x00";
    unsigned long sourcelen = 6;    
    assert( puff( dest, &destlen, source, &sourcelen ) == 0 );
    dest[ 4 ] = '\0';
    assert( strcmp( dest, "asdf" ) == 0 );
}
票数 0
EN

Stack Overflow用户

发布于 2018-05-07 11:21:16

类似下面的内容将打印原始内容,包括“$ type $ length \ 0”标题:

代码语言:javascript
复制
perl -MCompress::Zlib -e 'undef $/; print uncompress(<>)' \
     < .git/objects/27/de0a1dd5a89a94990618632967a1c86a82d577
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100004033

复制
相关文章

相似问题

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