重定向不断更新输出

时间:2014-12-02 12:59:46

标签: bash redirect

这个疯狂的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秒。

1 个答案:

答案 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