Linux pv | gzip 不会删除原始文件

Linux pv | gzip 不会删除原始文件

我对 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

相关内容