Відповіді:
Чого ви намагаєтеся досягти, це побачити смужку ходу процесу стиснення. Але використовувати це неможливо pv
. Він показує лише прогрес у передачі, якого ви можете досягти чимось подібним (все одно це перша посилання в google):
pv input_file | gzip > compressed_file
Панель прогресу буде працювати швидко, і тоді вона чекатиме стиснення, яке вже неможливо помітити за допомогою pv
.
Але ви можете зробити це навпаки і дивитися вихідний потік, бот тут ви не зможете побачити фактичний прогрес, оскільки pv
не знаєте фактичного розміру стисненого файлу:
gzip input_file | pv > compressed_file
Найкраще, що я знайшов поки що, - це командний, навіть з обмеженням швидкості та стисненням каталогів:
$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
потрібно надіслати вихід у stdout, щоб дозволити його передавати pv
, інакше панель прогресу не працюватиме, оскільки дані не збираються pv
:)
mysqldump ... | gzip | pv > output.sql.gz
.
Ви можете використовувати 7z замість цього, щоб отримати відсотковий прогрес:
$ 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
іgzip
команди?