【问题标题】:how to uncompress a binary file which is application/gzip and enconding binary - linux [closed]如何解压缩应用程序/gzip和编码二进制的二进制文件-linux [关闭]
【发布时间】:2020-09-10 10:16:09
【问题描述】:

我有一些应该被压缩和二进制的文件。我正在尝试解压缩它们,但我无法找到解决方法

我可以看到该文件是压缩的二进制文件,但我不知道如何解压缩以获取扩展名为 .bin 的文件(这些文件来自 IBM AS/400 系统)

$ file RPLMREP.20200831045319063541
RPLMREP.20200831045319063541: gzip compressed data, has comment, comment, last modified: Tue Sep  1 04:53:19 2020
$ file --mime-encoding  RPLMREP.20200831045319063541
RPLMREP.20200831045319063541: binary
$ file --mime-type RPLMREP.20200831045319063541
RPLMREP.20200831045319063541: application/x-gzip
$ gzip -d RPLMREP.20200831045319063541
gzip: RPLMREP.20200831045319063541: unknown suffix -- ignored

【问题讨论】:

    标签: linux bash gzip ibm-midrange


    【解决方案1】:

    来自 gzip 的“未知后缀”错误表明它不想解压缩文件,因为它没有 .gz 后缀。要么重命名它...

    mv RPLMREP.20200831045319063541 RPLMREP.20200831045319063541.bin.gz
    gunzip RPLMREP.20200831045319063541.bin.gz
    

    ...或使用重定向:

    gzip -d < RPLMREP.20200831045319063541 > RPLMREP.20200831045319063541.bin
    

    (或使用-S 选项告诉它识别您现有的后缀,但由于这是一个日期戳,感觉不对)

    【讨论】:

    • 我收到了这个错误:gzip: RPLMREP.20200831045319063541.bin.gz: invalid compressed data--format violated
    • 那么您所拥有的不是有效的 gzip 数据,或者它已以某种方式损坏(字节顺序、ASCII-vs-EBCDIC、行尾、不知道)。只是 'cos file 识别头中的魔术字节并不意味着文件的其余部分是有效的。
    【解决方案2】:

    解压时gzip会创建一个新名字的文件,这个名字是旧名字,但是去掉了后缀。例如,您可以通过

    解压缩文件x.z
    gzip -d -S .z x.z
    

    后缀使用-S选项指定,但不能为空。

    你可以的

    gzip -d -S .20200831045319063541  RPLMREP.20200831045319063541   
    

    解压成 RPLMREP,或者你可以解压到 stout 并为解压后的文件选择一个明确的文件名:

    gzip -dc RPLMREP.20200831045319063541 > RPLMREP
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多