如何从终端输出中删除两行

时间:2010-10-14 10:50:53

标签: bash terminal echo

鉴于终端已打印出两条线路,是否可以删除它们,以便用两条新线路替换它们?

我知道你可以使用\ r来替换1行(好吧,将光标移动到行的开头),但有没有办法为上面的行做这个?

作为一个例子,我正在运行一个程序来计算薛定谔方程的本征函数,我想留意我的变量在运行时是如何变化的,所以我想要输出如下:

Param 1: xxxxxxx  
Param 2: xxxxxxx

所以我在两行上有两个参数,因此可以很容易地读取它们,并且在程序匹配函数的每次迭代时都会更新它们。

2 个答案:

答案 0 :(得分:5)

cuu1终端功能可让您上线。将其传递给tput,以便从terminfo / termcap数据库中读取字符序列,然后echo两次。

echo -e '123\nabc\n'"$(tput cuu1)$(tput cuu1)"'*\n*'

答案 1 :(得分:5)

您也可以使用$(tput cuu 2)代替$(tput cuu1)$(tput cuu1)

- Aesthir