我在 Linux 机器上有一个脚本,其中一个奇特的 pv 通过管道传输到第二个 pv,该 pv 计算输出行的子集。
这是脚本:
max=1000
for (( i=0; i<max; i++ )); do
[[ $(shuf -i 1-100 -n 1) -lt 20 ]] && echo REMOVE || echo LEAVE
done | pv -F "%N %b / $(numfmt --to=si $max) %t %p %e" -c -N 'Lookups' -l -s $max \
| grep --line-buffered '^REMOVE' \
| pv -F "%N %b / $(numfmt --to=si $max)" -c -N 'Deletes' -l -s $max \
>/dev/null
stty sane
Run Code Online (Sandbox Code Playgroud)
我期望的是第一个 pv 总是首先显示,第二个总是第二个。
就像这个例子的输出: …