web-dev-qa-db-ja.com

Linux pv | gzipは元のファイルを削除しません

私はUNIXを初めて使用するので、簡単に行ってください。

通常は gzip file fileをfile.gzに置き換えます(これは、file.gzを作成してからrmファイルを作成することだと思います)。

圧縮しているかなり大きなファイルがいくつかあり、進行状況とイータを確認したいので、

pv -tpreb file | gzip -9 > file.gz

しかし今、私は新しいfile.gzと一緒に元のファイルを残しています。オリジナルを手動でrmする必要はありません。

私は何をすべきか?

3
danielr

Kenneth Lがコメントで述べたように、pvfilegzipにパイプする方法のため、使用しているツールでこれを達成する方法はありません。

厄介な回避策は、元のファイルを圧縮した直後に削除することです。

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で解凍します。

3
nc4pk