如何获得管道的平均流速

如何获得管道的平均流速

如果myfile随着时间的推移而增加,我可以使用每秒的行数

tail -f | pv -lr > /dev/null

它给出的是瞬时速度,而不是平均速度。

如何获得平均速度(即速度函数v(t)在监控时间内的积分)。

答案1

对于pv1.2.0(2010 年 12 月)及更高版本,它具有以下-a选项:

这里有当前的和平均的,基于行的:

$ find / 2> /dev/null | pv -ral > /dev/null
[6.28k/s] [70.1k/s]

在 1.3.8(2012 年 10 月)及更新版本中,您还可以将-F/--format与 一起使用%a

$ find / 2> /dev/null | pv -lF 'current: %r, average: %a'  > /dev/null
current: [4.66k/s], average: [ 218k/s]

请注意,tail -f首先转储文件的最后 10 行。用于tail -n 0 -f file | pv -la避免平均速度计算中的偏差。

相关内容