2010-10-14 90 views
2

考慮到終端已打印出兩行,是否可以刪除兩行,以便可以用兩行新行替換它們?如何從終端輸出中刪除兩行

我知道你可以使用\ r替換1行(以及將光標移動到行首),但是對於上面的行是否有任何方法?

作爲一個例子,我正在運行一個計算薛定諤方程的本徵函數的程序,並且我想要關注我的變量在運行時如何改變,所以我想要一個輸出:

Param 1: xxxxxxx 
Param 2: xxxxxxx 

所以我有兩條線上的兩個參數,所以他們可以很容易地閱讀,他們會在程序的匹配函數的每次迭代更新。

+1

請舉一個例子。 – codaddict 2010-10-14 10:52:31

回答

4

cuu1終端功能允許您上線。將它傳遞到tput以便從terminfo/termcap數據庫中讀取字符序列,然後將它兩次寫入echo

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

絕對完美!不敢相信我從來沒有聽說過。這將比只有這個項目更有幫助。 – 2010-10-16 11:11:46

2

你也可以使用的,而不是$(tput cuu 2)$(tput cuu1)$(tput cuu1)

- Aesthir

+0

這幾乎是我在查找tput的手冊頁後最終做了什麼。 – 2011-09-13 19:17:18