
gzip アーカイブが多いが、郵便番号拡張子は gz:***.zip ではありません。
gunzipを使用して解凍しようとするとエラーがunzip
発生します。not a zip archive
unknown suffix: zip
ここで何が起こっているのでしょうか?
答え1
デフォルトでは、ファイルがgzipファイルであることを確認するためgzip
にファイルをスキャンするのではなく、制限されたリストの拡張子を持つファイルのみが解凍されます。 ::magic
でコメントgzip.c
get_suffix()
/* ========================================================================
* Return a pointer to the 'z' suffix of a file name, or NULL. For all
* systems, ".gz", ".z", ".Z", ".taz", ".tgz", "-gz", "-z" and "_z" are
* accepted suffixes, in addition to the value of the --suffix option.
実際にgzipで圧縮されているがgzip
予想される規則に従って名前が付けられていない入力ファイルを使用するには、次のようにサフィックスを明示的に指定します。gzip
マニュアルページ:
-S .suf - サフィックス .suf
...圧縮を解除すると、サフィックスリストの先頭に.sufを追加して、入力ファイル名から出力ファイル名を派生させようとします。
$ gunzip -S .zip foo.zip
gzip
または、ファイル名が表示されないようにリダイレクトを使用します。
$ gunzip < foo.zip > foo.txt