提取 tgz 存档时出现“gzip: stdin: 无效的压缩数据 - 格式违规”错误

提取 tgz 存档时出现“gzip: stdin: 无效的压缩数据 - 格式违规”错误

我必须打开一个 tar 文件。我在 Unix shell 上使用了以下命令行:

tar xfvz raw-GWA-data.tgz

我发现以下错误消息:

gzip: stdin: invalid compressed data--format violated
tar: Child returned status 1
tar: Error is not recoverable: exiting now

然后,我尝试了以下命令行:

tar -xvzf raw-GWA-data.tgz   
tar --extract --file raw-GWA-data.tgz  
tar xzf raw-GWA-data.tgz   
tar -xf raw-GWA-data.tgz

我发现了同样的错误,无法打开我的 tar 文件。

怎么了?还有其他方法可以打开我的 tar 文件吗?

答案1

如果您查看该文件的hexdump(此处采用)(来自hexdump -Chttps://www.nature.com/articles/nprot.2010.116#Sec27正如其他人在现已删除的答案中提到的那样),

00000000 1f 8b 08 00 cd b6 e3 4c 00 03 d4 bd 5f 8c 23 5b |.......L...._.#[|
00000010 7a 1f 46 71 82 80 62 0f 66 0c 3f 04 86 0c 18 0c |z.Fq..bf?.....|
00000020 47 50 68 b2 45 CE F6 AC E4 36 39 26 05 09 01 12 |GPh.E....69&....|
00000030 19 88 83 20 79 c8 93 b1 92 15 3b 52 bc 57 90 64 |... y.....;RWd|
00000040 c4 d1 0d0a3b 0c 3b 0f 34 39 e8 16 f4 12 43 0b |....;.;.49....C.|
00000050 e8 32 45 61 55 7b 8a 5b 67 d2 9d ec e5 d6 e1 ad |.2EaU{.[g.......|
00000060 33 98 09 ac 0e 79 43 02 f1 9b ae 73 a7 4d 1a bb |3....yC....sM.|
00000070 54 15 55 67 d2 8c ef 70 eb 70 ce c9 77 4e 91 dd |T.Ug...pp.wN..|
00000080 ec 9e 9e bf 77 f6 1a aa dd 3b cd 66 93 f5 ab df |....w....;.f....|
00000090 f7 ef 7c df f9 fb 8f 是 f6 9b ff f8 6b bf 79 e7 |..|.........ky|
000000a0 b7 76 fe fe 2f fd c7 ff 55 fe 97 fe 93 5f cc ff |.v../...U...._..|
000000b0 f2 7f fe 5f e6 ff eb ff e2 3f cd ff 37 1f fc 93 |..._.....?..7...|
000000c0 af ff 83 5f fb ad df ce 7f fd 83 9f fd da ef fc |..._............|
000000d0 ec af fe c3 9f fd ed af ff e6 6f e7 7f e5 d7 fe |.........o.....|
000000e0 41 ec 2d af db 70 fd fc 57 bf 0d0a3f ef 7c 65 |A.-..p..W...?.|e|
000000f0 e7 e7 d5 cf db 3b 3b 5f fd 0d0afc fc f9 af dc |.....;;_........|

您会注意到,所有 0x0a 字节(如果解释为 ASCII 中的字符,将是换行符,又名 LF / 换行符 //\n字符^J)前面都有 0x0d 字节(对应于回车符,又名 CR ^M// \r)。

当文件通过 FTP 从 Unix 计算机传输到 Microsoft 计算机而未将模式设置为二进制,然后行尾会即时从 LF 转换为 CRLF。

在这里,您可以通过将所有 CRLF 转换回 LF 来扭转这种损坏,例如perl -pe 's/\r\n\z/\n/'

$ bsdtar tf Downloads/41596_2010_BFnprot2010116_MOESM396_ESM.zip
raw-GWA-data.tgz
$ bsdtar xOf Downloads/41596_2010_BFnprot2010116_MOESM396_ESM.zip | perl -pe 's/\r\n\z/\n/' | bsdtar tvvf -
-rw-r--r--  0 ca3    team152 103669932 Mar  9  2010 hapmap3r2_CEU.CHB.JPT.YRI.founders.no-at-cg-snps.bed
-rw-r--r--  0 ca3    team152  29166116 Mar  9  2010 hapmap3r2_CEU.CHB.JPT.YRI.founders.no-at-cg-snps.bim
-rw-r--r--  0 ca3    team152      8813 Mar  9  2010 hapmap3r2_CEU.CHB.JPT.YRI.founders.no-at-cg-snps.fam
-rw-r--r--  0 ca3    team152  10664954 Mar  8  2010 hapmap3r2_CEU.CHB.JPT.YRI.no-at-cg-snps.txt
-rw-r--r--  0 ca3    team152       417 Jan  7  2010 high-LD-regions.txt
-rw-r--r--  0 ca3    team152       718 Feb 16  2010 imiss-vs-het.Rscript
-rw-r--r--  0 ca3    team152         9 Mar  9  2010 pca-populations.txt
-rw-r--r--  0 ca3    team152       283 Mar  3  2010 plot-IBD.Rscript
-rw-r--r--  0 ca3    team152       776 Jun  4  2010 plot-pca-results.Rscript
-rwxr-xr-x  0 ca3    team152  11747611 Jan  6  2010 raw-GWA-data.map
-rw-r--r--  0 ca3    team152 2540057786 Jan 14  2010 raw-GWA-data.ped
-rw-r--r--  0 ca3    team152       1217 Mar  8  2010 run-IBD-QC.pl
-rw-r--r--  0 ca3    team152        327 Mar 11  2010 run-diffmiss-qc.pl
-rw-r--r--  0 ca3    team152     511429 Jan  7  2010 raw-GWA-data.prune.in
Archive Format: GNU tar format,  Compression: gzip

相关内容