tgzアーカイブを抽出すると、「gzip:stdin:無効な圧縮データ - フォーマット違反」エラーが発生する

tgzアーカイブを抽出すると、「gzip:stdin:無効な圧縮データ - フォーマット違反」エラーが発生する

tarファイルを開く必要があります。 Unixシェルでは、次のコマンドラインを使用しました。

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(ここで採用されている)文書を見ると(fromhexdump -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 広告 |.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

おすすめ記事