При обработке очень больших файлов такими утилитами как tar, gzip, grep и др. порой возникает необходимость видеть ETA или по крайней мере
скорость работы программы. Проблема в том, что большинство стандартных
UNIX-утилит не отображает скорость обработки конкретного файла. В лучшем
случае имеется ключ вида --verbose, при указании
которого программа сообщает имя файла, который обрабатывается в
настоящий момент. Ясно, что если файл очень большой и только один, то
пользы от подобного ключа будет немного.
Однако, если программа умеет работать в режиме фильтра или по крайней мере читать данные со STDIN, то для оценки скорости её работы можно воспользоваться утилитой pv - Pipe Viewer. Она показывает скорость прохождения данных через pipe, а также ETA, если это возможно. Например:
pv very-big-file | gzip -c > very-big-file.gz 219MB 0:00:13 [16,3MB/s] [========> ] 34% ETA 0:00:24]
В данном примере pv действует аналогично утилите cat, считывая данные и передавая их дальше по конвейеру программе gzip. При этом, pv "знает" с какой скоростью gzip считывает входные данные со STDIN, размер файла также известен. Таким образом, можно достаточно точно получить ETA.
Ссылки
Ссылки
Re: Pipe Viewer - оценка скорости прохождения данных через pipe
Спасибо, полезная штука, в дебиане нет утилиты с названием pv (pipe view) но есть pipemeter в репах.
Теперь наконец таки можно меряться пайпами :)
Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.1.17) Gecko/20110302 Iceweasel/3.5.17 (like Firefox/3.5.17)