約 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 の投稿にコメントとして投稿するつもりでしたが、私にはその権限がありません。