我有一个压缩文件,在压缩或解压缩时,我想获取它的最终压缩大小(用于压缩)或原始压缩大小(用于解压缩)。
我以前用过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