私はgzipファイルに夢中になっています。
WinRARを使用してWindowsでファイルを解凍できますが、UNIXオペレーティングシステムでは不可能です。
ファイルは問題ないようです。私が行った場合
file the_name_of_the_file.gz
私は得ます:
the_name_of_the_file.gz: gzip compressed data, from Unix, last modified: Sun Jan 30 14:10:21 2011
しかし、私がするなら
gunzip -f the_name_of_the_file.gz
私はいつも得ます:
gzip: the_name_of_the_file.gz: unexpected end of file
UbuntuまたはMacOSXのGUIツールを使用してファイルを抽出しようとすると、同じ問題が発生します。
何か案は?
「予期しないファイルの終わり」でgzip
が失敗した場合のファイルの圧縮解除の回避策は、zcat
を使用することです(これも通常、ディストリビューションのgzipパッケージによって提供されます)。
$ zcat file.raw.gz > file.raw
たまたま、ファイルをWin *からUnixにFTP経由でASCIIモードで転送しましたか?それはそれを説明するかもしれません。 Win *とUnixでファイルのサイズは同じですか?
ユーティリティ P7Zip を使用して問題を解決しました。これは、POSIXシステム用の7za.exeのポートです。
* nixマシンにコピーするときに、ファイルが破損しているのではないかと思います。
バイナリモードでFTPします。
私も同じ問題を抱えていましたが、私の場合は、ファイルが空(0バイト)のgz
ファイルであり、touch
コマンドで作成されたことが原因でした。
$touch file.txt.gz
-rw-r--r-- 1 user user 0 2016-05-24 11:48 file.txt
次のコマンドで呼び出されたとき、gzipは解凍できませんでした:
$gzip -dv file.txt.gz
gzip: file.txt.gz: unexpected end of file
空のtxt
ファイルを表す正しい方法は、最初にtxt
ファイルを生成し、次にそれを圧縮し、最後にそれを解凍することです。
$touch file.txt
$gzip -v file.txt
file.txt: 0.0% -- replaced with file.txt.gz
$gzip -dv file.txt.gz
file.txt.gz: 0.0% -- replaced with file.txt
このシナリオがあなたのケースを表しているかどうかはわかりませんが、それはあなたにいくつかの手掛かりを与えたり、他の誰かを助けるかもしれません。
WinRarのいくつかの経験に基づいて、私の最初の推測は、不完全または破損したファイルをエラーを出さずに抽出している一方で、gzipは(正しく)エラー。
7Zip はファイルをどのように構成しますか?
gzip -V
はどのバージョンを発表しますか?
gzip -t the_name_of_the_file.gz
は何を伝えますか? (おそらく同じ予期しないEOFですが、試してみる価値があります)