大きなファイルの圧縮可能性を推測する

大きなファイルの圧縮可能性を推測する

大きなファイル (約 20 GB) があり、圧縮率を (おおよそ) すばやく推定したいと考えています。圧縮されたファイルのサイズを即座に推測でき、データの分析に時間がかかればかかるほど推定の精度が上がる可能性があるプログラムを探しています。

答え1

-vオプションを使用するとgzip圧縮率が印刷されるので、簡単に概算するには次のようにします。

$ dd if=myfile bs=1M count=100 2>/dev/null | gzip -v >/dev/null
 80.5%
$


もちろん、これは簡単で迅速ですが、ファイルの内容が均一でない場合、最初の x バイト (この例では 100 MB) の圧縮率をチェックするだけでは、非常に誤解を招く可能性があります。
たとえば、ファイルシステム イメージの場合は、あまり適していない可能性があります。

答え2

すべてのデータを精査しなければ、それがどれだけ圧縮可能であるかを知る方法はありません。これ圧縮ツールと速度のリストのページがありますが、あなたが求めているのは基本的に不可能です。

関連情報