Ideal wäre ein Fortschrittsbalken mit fester Länge, eine Datei- oder Bytezahl oder besser ein Timer, der die geschätzte verbleibende Zeit anzeigt.
zip
Das Standardverhalten scheint darin zu bestehen, für jede verarbeitete Datei eine Zeile auszudrucken, aber ich möchte nicht, dass die Informationen überladen werden, wenn ich Tausende von Dateien komprimiere. Ich möchte eine Einschätzung, wie lange es dauern wird.
Ich habe die -q
( --quiet
) -Option in Kombination mit -dg
( --display-globaldots
) ausprobiert, aber das überflutet stdout nur mit mehreren Punktzeilen und gibt keinen nützlichen Hinweis.
Ich habe auch versucht, -qdgds 10m
wie in der Manpage erwähnt, aber das gleiche Ergebnis erzielt.
Ich habe dann -db
( --display-bytes
) und -dc
( --display-counts
) ausprobiert, aber es scheint keine globale Option zu geben, daher wird sie erneut für jeden Dateinamen gedruckt.
Zuletzt habe ich es zusammen mit -q
like versucht -qdbdc
, aber das gibt einfach nichts aus.
Lustigerweise habe ich auf der Info-Zip-Site eine Manpage gefunden, in der eine -de
( --display-est-to-go
) -Option erwähnt ist, die "eine Schätzung der Zeit anzeigen soll, die erforderlich ist, um den Archivierungsvorgang abzuschließen".
Das hört sich genau so an, wie ich es möchte, aber das Problem ist, dass meine Version von zip
diese Funktion nicht hat. Ich verwende Ubuntu 14.04.1 64bit, bash-4.3.30 (1) und zip-3.00. Laut Wikipedia ist dies die neueste stabile Version von zip.
Es gibt unveröffentlichte Betaversionen auf der info-zip sourceforge-Seite, aber ich würde meine Daten lieber nicht einer Betaversion anvertrauen.
pv /path/to/file | gzip > /path/to/file.gz
tee
. Machen Sie vor dem Start von zip eine Gesamtzählung der Dateien (mitls
oderfind -type f
) und lesen Sie während des ZIP-Vorgangs in der Protokolldatei die Anzahl der Zeilen der verarbeiteten Dateien, die bereits vorhanden sind (mitgrep
den richtigen Zeilen undwc -l
den Zeilen, die angezeigt werden sollen) zählen), so dass Ihre High-Level-Informationen so etwas wie "234/76438 Dateien verarbeitet" zeigen;