要获取已压缩文件的未压缩大小,我可以在 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 或类似的东西解析命令的输出,以提取最后一行的关键部分。