
我有一個具有以下輸出的程式:
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"
我需要我的終端顯示固定在適當位置的包位置(每次打印新包時在同一行上),而括號內的數據正在更改。
我不介意終端上同時有多個輸出包,但我需要將它們固定到位,而不是在行中上下跳躍,以便我可以在運行程式時讀取它們。
有沒有辦法在終端機中確保這一點?
我嘗試了以下解決方案:
- 減慢列印到終端的速度:
./out | watch -n 1 cat
這並不能解決問題。我想要的不是螢幕上資料流變慢,我不希望它在終端上的線路上上下移動。這使它移動,但速度較慢。
- 使用 grep 匹配 a
flag
並列印N
之後的行:./out | grep -AN flag
這也不能解決問題,我的猜測是它會從終端底部附加行,並將文字向上推,並且一次也執行一行。你最終看到的是螢幕上的混亂。
謝謝!