gzipを使用してパイプ出力の圧縮サイズを取得しますか?

gzipを使用してパイプ出力の圧縮サイズを取得しますか?

圧縮ファイルの非圧縮サイズを取得するには、gzip ユーティリティで -l オプションを使用できます。

gzip -l compressedfile.gz

しかし、出力をパイプして圧縮ファイルのサイズを取得する方法はありますか?たとえば、次のコマンドを使用します。

gzip -fc testfile > testfile.gz

または、特に直接アクセスできない場所(サーバー)に出力をリダイレクトする場合

gzip -fc testfile > /dev/null
gzip -fc testfile | ssh serverip "cat > file.gz"

これは可能ですか?圧縮率または圧縮サイズが必要です。

ベストアンサー1

dd救助に来てください。

gzip -fc testfile | dd of=testfile.gz
0+1 records in
0+1 records out
42 bytes (42 B) copied, 0.00018711 s, 224 kB/s

またはあなたのssh場合

gzip -fc testfile | dd | ssh serverip "cat > file.gz"
0+1 records in
0+1 records out
42 bytes (42 B) copied, 0.00018711 s, 224 kB/s

次に、awkまたは類似のものを使用してコマンド出力を解析し、最後の行の重要な部分を抽出します。

おすすめ記事