【发布时间】:2020-09-03 22:33:55
【问题描述】:
timeout 5s dd if=/dev/random | pv -r > /dev/null
[ 505kiB/s]
在我的 5 秒超时期间,速率线输出已“更新”。我试过了,但它不起作用(日志为空):
timeout 5s dd if=/dev/random | pv -r > /dev/null 2> rates.log
我相信这与stderr 输出中的回车有关,但一个小时后我被卡住了。理想情况下,每次pv 打印一个新值时,我的日志文件都会包含多行:
[ 505kiB/s]
[ 498kiB/s]
[ 542kiB/s]
[ 513kiB/s]
[ 509kiB/s]
更新:
要将内容放入如上所述的文件中,我必须使用stdbuf,尽管我不确定为什么需要它(tr 单独不起作用,如果没有stdbuf,文件将是空的):
timeout 5s dd if=/dev/random | pv -fr > /dev/null 2> >(stdbuf -oL tr '\r' '\n' > rates.log)
【问题讨论】:
标签: stderr pv stderr pv stdbuf tr stdbuf pipe stderr pv