Antworten:
Was Sie erreichen möchten, ist die Anzeige des Fortschrittsbalkens des Komprimierungsprozesses. Aber es ist nicht möglich mit pv
. Es zeigt nur den Übertragungsfortschritt an, den Sie mit so etwas erreichen können (es ist sowieso der erste Link in Google):
pv input_file | gzip > compressed_file
Der Fortschrittsbalken wird schnell ausgeführt und wartet dann auf die Komprimierung, die mit nicht mehr beobachtet werden kann pv
.
Sie können dies aber auch anders herum tun und den Ausgabestream ansehen. Hier können Sie den tatsächlichen Fortschritt nicht sehen, da Sie pv
die tatsächliche Größe der komprimierten Datei nicht kennen:
gzip input_file | pv > compressed_file
Das Beste, was ich bisher gefunden habe, ist das von commandlinefu, selbst bei Ratenbegrenzung und Komprimierung von Verzeichnissen:
$D=directory
tar pcf - $D | pv -s $(du -sb $D | awk '{print $1}') --rate-limit 500k | gzip > target.tar.gz
gzip input_file | pv > compressed_file
gzip -c
ist erforderlich, um die Ausgabe an stdout zu senden, damit sie weitergeleitet werden kann pv
, andernfalls funktioniert der Fortschrittsbalken nicht, da keine Daten an pv
:)
mysqldump ... | gzip | pv > output.sql.gz
.
Sie können stattdessen 7z verwenden, um einen prozentualen Fortschritt zu erhalten:
$ 7z a spaCy.tar.gz spaCy.tar
7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,8 CPUs Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz (906E9),ASM,AES-NI)
Open archive: spaCy.tar.gz
--
Path = spaCy.tar.gz
Type = gzip
Headers Size = 20
Scanning the drive:
1 file, 326451200 bytes (312 MiB)
Updating archive: spaCy.tar.gz
Items to compress: 1
32% U spaCy.tar
pv
undgzip
command gelesen ?