![Linux pv | gzip 不会删除原始文件](https://linux22.com/image/1480128/Linux%20pv%20%7C%20gzip%20%E4%B8%8D%E4%BC%9A%E5%88%A0%E9%99%A4%E5%8E%9F%E5%A7%8B%E6%96%87%E4%BB%B6.png)
我对 unix 还很陌生,所以放轻松点。
通常gzip file
用 file.gz 替换文件(我猜测是:创建 file.gz 然后 rm 文件)。
我正在压缩一些相当大的文件,我想查看进度和预计完成时间,所以我使用
pv -tpreb file | gzip -9 > file.gz
但现在我剩下了原始文件和新 file.gz。我不想手动 rm 原始文件。
我应该怎么办?
答案1
pv
正如 Kenneth L 在他的评论中提到的那样,由于管道file
方式,无法使用您使用的工具来实现这一点gzip
。
一个笨拙的解决方法是在压缩后立即删除原始文件:
pv -tpreb file | gzip -9 > file.gz && rm file
您可以使用以下命令压缩同一个存档中的多个文件并删除原始文件:
export FILES='foo bar quux'
tar c $FILES | pv -tpreb | gzip -9 > zip.gz && rm $FILES
并使用 解压缩这些文件tar xvzf zip.gz
。