tar.bz2 ファイルの圧縮率を判定するコマンドはありますか?

tar.bz2 ファイルの圧縮率を判定するコマンドはありますか?

約 50 GB の file.tar.bz2 があり、それを解凍したいのですが、必要な容量がわかりません。tar.bz2 ファイルの圧縮率を出力するコマンドはありますか?

答え1

圧縮率を出力するためのコマンドは知りませんが、

bzip2 -dc file.tar.bz2 | wc -c

圧縮されていない tar ファイルが占めるバイト数が表示されます。そのスペースの一部は tar メタデータによって占められますが、おおよその概算は得られるはずです。

答え2

tar -tvjf file.tar.bz2

tar ファイル内のすべてのファイル、それぞれのサイズ、およびその他の情報を一覧表示します。出力を awk スクリプトにパイプして数値を合計することもできます...

tar -tvjf file.tar.bz2 | awk '{i+=$3;print i"     "$0}' | tail

答え3

.tar.gzファイルで同じことをする方法について検索したところ、これについて追加します。

tar -tvf file.tar.gz | awk '{i+=$3} END{print i}'

これらには有効です。つまり、bz2 形式を指定する j を省略するだけです。@TooLazyToLogIn の投稿にコメントとして投稿するつもりでしたが、私にはその権限がありません。

関連情報