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

P O*_*hui 3 bash terminal echo

假设终端中已打印出两行,是否可以将它们都删除,以便将它们替换为两行?

我知道您可以使用\ r替换1行(嗯,将光标移动到该行的开头),但是对于上面的行有什么办法吗?

举例来说,我正在运行一个用于计算Schrodinger方程的本征函数的程序,我想一直关注变量在运行过程中的变化,因此,我希望得到如下输出:

Param 1: xxxxxxx  
Param 2: xxxxxxx
Run Code Online (Sandbox Code Playgroud)

因此,我会将两个参数放在两行上,以便可以轻松读取它们,并在程序匹配功能的每次迭代中对其进行更新。

Ign*_*ams 5

cuu1终端功能允许你去了一条线。传递给tput以便从terminfo / termcap数据库读取字符序列,然后echo两次。

echo -e '123\nabc\n'"$(tput cuu1)$(tput cuu1)"'*\n*'
Run Code Online (Sandbox Code Playgroud)

  • 绝对完美!不敢相信我以前从未听说过 tput。这将比这个项目更有帮助。 (2认同)

Aes*_*hir 5

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

- 艾斯特