水平對齊的終端輸出

水平對齊的終端輸出

我有一個具有以下輸出的程式:

Pack 1:  
TimeStamp : 1001302  
Data : [1 21 343 2 34 ]  
Found : Yes  
Pack 2:  
TimeStamp : 1001303  
Data : [1 21 344 2 35 ]  
Found : Yes  
Pack 3:  
TimeStamp : 1001304  
Data : [1 21 346 2 36 ]  
Found : Yes  

等等...重複

終端的輸出是使用 c++ 創建的fprintf"\n"我需要我的終端顯示固定在適當位置的包位置(每次打印新包時在同一行上),而括號內的數據正在更改。

我不介意終端上同時有多個輸出包,但我需要將它們固定到位,而不是在行中上下跳躍,以便我可以在運行程式時讀取它們。

有沒有辦法在終端機中確保這一點?

我嘗試了以下解決方案:

  1. 減慢列印到終端的速度: ./out | watch -n 1 cat

這並不能解決問題。我想要的不是螢幕上資料流變慢,我不希望它在終端上的線路上上下移動。這使它移動,但速度較慢。

  1. 使用 grep 匹配 aflag並列印N之後的行: ./out | grep -AN flag

這也不能解決問題,我的猜測是它會從終端底部附加行,並將文字向上推,並且一次也執行一行。你最終看到的是螢幕上的混亂。

謝謝!

相關內容