Gzip圧縮ファイルが与えられた場合、どの圧縮レベル(1〜9)が使用されたかを知るにはどうすればよいですか?
Gzipレベルを直接決定する方法はありません。
私の意見ではそれを判断する唯一の方法は、ファイルをgunzip圧縮してさまざまなレベルで圧縮し、その結果を既存のファイルサイズと比較することです。
私はデフォルトのレベルが6であると信じているので、ほとんどの場合それがあなたの答えであるべきです
ファイルのヘッダーに格納されます。それを表示するには、file
コマンドを使用します。例えば:
$ file testfile.gz
testfile.gz: gzip compressed data, from Unix, last modified: Sun Sep 15 14:22:19 2013, max compression
残念ながら、ヘッダーには3つの値しかありません。最大速度(レベル1)、最大圧縮(レベル9)、「通常」(その他すべてのレベル)です。しかし、何もないよりはましだ!
gzip -l <filename>
は圧縮率を提供しますが、使用されている圧縮レベルを直接見つける方法はありません。
それを直接知る方法はありません。おそらく6(現在のデフォルト)または9(最高の圧縮)です。試して比較する必要があります。
https://stackoverflow.com/questions/16153334/how-to-determine-the-compression-level-of-deflate を参照してください