每当我通过管道传输一些正在更新的输出(比如使用\r
),例如到寻呼机(less
),或者对其中的部分进行着色时,管道似乎会删除正在更新的行。知道如何在做我想做的其他事情的同时保留更新行为吗?
微量元素:
(
echo num1;
for i in {01..99}; do
printf "num2: %s\r" $i;
sleep 0.5;
done
)
通常上面显示:
num1
num2: NN
其中从到NN
计数。但是,如果我将上面的内容通过管道传输到,我只会看到该行,或者说我将它通过管道传输到以使所有出现的粗体像这样:01
99
less
num1
sed
num
(
...
) | sed -e "s/num/$(tput bold)&$(tput sgr0)/g"
我只看到“编号1”,带有“num2”的行消失了。如何保留第二行?