Pipe
使用 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"
這可以做到嗎?我需要壓縮比或壓縮大小。
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 或類似的方法解析命令的輸出,以提取最後一行的關鍵部分。