zip拡張子を使用してgzアーカイブを解凍する

zip拡張子を使用してgzアーカイブを解凍する

gzip アーカイブが多いが、郵便番号拡張子は gz:***.zip ではありません。

gunzipを使用して解凍しようとするとエラーがunzip発生します。not a zip archiveunknown suffix: zip

ここで何が起こっているのでしょうか?

ベストアンサー1

デフォルトでは、ファイルがgzipファイルであることを確認するためgzipにファイルをスキャンするのではなく、制限されたリストの拡張子を持つファイルのみが解凍されます。 ::magicでコメントgzip.cget_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

おすすめ記事