Warum ist das nicht möglich?
pv ${dest_file} | gzip -1
pv
ist ein Fortschrittsbalken
Error
gzip: compressed data not written to a terminal. Use -f to force compression.
For help, type: gzip -h
0 B 0:00:00 [ 0 B/s] [> ] 0%
Das funktioniert
pv ${file_in} | tar -Jxf - -C /outdir
command-line
gzip
Clarkk
quelle
quelle
pv
undgzip
command gelesen ?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):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:Das Beste, was ich bisher gefunden habe, ist das von commandlinefu, selbst bei Ratenbegrenzung und Komprimierung von Verzeichnissen:
quelle
gzip input_file | pv > compressed_file
gzip -c
ist erforderlich, um die Ausgabe an stdout zu senden, damit sie weitergeleitet werden kannpv
, andernfalls funktioniert der Fortschrittsbalken nicht, da keine Daten anpv
:)mysqldump ... | gzip | pv > output.sql.gz
.Ja, es ist irgendwie möglich, die Zeilen der Datei zu verwenden, nicht die Bytes. Sie erhalten einen ausreichend genauen Fortschrittsbalken:
quelle
Sie können stattdessen 7z verwenden, um einen prozentualen Fortschritt zu erhalten:
quelle