我必须打开一个 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 -C
https://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