这个疯狂的bash调用应该考虑到我的ISP特定服务器的下行链路速度。 将pv的输出输出到sed时会出现问题。而不是最后的结果形式pv sed进入第一个。管道不断更新输出时是否正常?
for ((i=0;i<1;i++)) ; do
echo DOWNLOAD $((2**30)) | nc ipv4.upcspeedtest.pl 10200
done |
pv -f -a 2> >(tee >(cat >&2)) 1> /dev/null |
sed -r 's|\[ *([0-9]+).*|scale=3;print \1, "KiB/s\n", \1*8/1024, "Mib/s\n"|g' |
bc -l
PS。为了完成这项工作,我只需将pv的间隔增加到300秒。
答案 0 :(得分:0)
确定。我想通了。当管道Dim imgBytes() As Bytes = reader(0) 'contains bytes from image column
Dim memStr As New MemoryStream(imgBytes)
imageBox.Image = Image.FromStream(memStr)
到pv -a
输出看起来像sed '/s/\r/ /g'
pv时,会产生\ r分隔的记录列表。当管道pv到[ 579kiB/s] [ 486kiB/s] [ 439kiB/s] ...
sed采取由pv产生的第一个省略休息输出。一切都按预期工作。
- BartłomiejSzczepaniak