圧縮ファイルの圧縮サイズを取得し、/dev/nullにリダイレクトしますか?

圧縮ファイルの圧縮サイズを取得し、/dev/nullにリダイレクトしますか?

圧縮ファイルがありますが、圧縮または解凍時に最終圧縮サイズ(圧縮用)または元の圧縮サイズ(圧縮解除用)を取得したいと思います。

私はこれを前に使用しましたwc -c

$time xz -fc inputfile.tar | wc -c
1318524
2.132

ただし、/dev/null へのリダイレクトを使用せずにディスクにファイルを書き込んでいるため、実行時間がはるかに長くなります。

$ time xz -fc inputfile.tar > /dev/null
1.671

圧縮サイズ(1318524)を取得し、最終的にデータを/ dev / nullにリダイレクトするにはどうすればよいですか?

答え1

xzファイルではなく標準入力ストリームで動作させる必要があります。データを書き込むことなくファイルサイズを取得できます。

cat inputfile.tar | xz -c | wc -c

関連情報