【发布时间】:2017-12-14 12:42:15
【问题描述】:
简介
我在管道中使用pv 命令来显示进度条。我用一个简单的计数器试了一下:
for (( i = 1 ; i <= 100 ; i++ )); do sleep 1; echo $i; done | pv --progress --line-mode --size 100 --eta --timer
这很好用,但我希望进度条显示在同一行。 This answer 解释了如何做到这一点。
所以我尝试了这个:
for (( i = 1 ; i <= 100 ; i++ )); do sleep 1; echo $i; done | >&2 echo -en "\r"; pv --progress --line-mode --size 100 --eta --timer
它停留在一条线上,但现在它不再更新 ETA。
问题
如何让 ETA 也更新?
更新
现在有了上一节中的 iBug answered the question,我意识到我还有一个相关的要求:需要保留 stdout,以便可以在下一个管道中使用它。在我的具体情况下,我需要将结果写入文件(即> some-file.txt)
【问题讨论】: