
Eu tenho um programa que tem as seguintes saídas:
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
e assim por diante... repetindo
As saídas para o terminal são criadas usando c++ fprintf
with "\n"
, preciso que meu terminal mostre a posição dos Packs fixa no lugar (na mesma linha toda vez que um novo pacote é impresso) enquanto os dados entre colchetes estão mudando.
Não me importo de ter vários pacotes de saída no terminal ao mesmo tempo, mas preciso que eles sejam fixados no lugar e não pule para cima e para baixo nas linhas para que eu possa lê-los enquanto executa o programa.
Existe uma maneira de garantir isso no terminal?
Eu tentei as seguintes soluções:
- desacelerando a impressão no terminal:
./out | watch -n 1 cat
Isso não resolve o problema. O que eu quero não é um fluxo de dados mais lento na minha tela. Não quero que ele suba e desça nas linhas do terminal. isso faz com que ele se mova, mas em um ritmo mais lento.
- usando grep para corresponder a
flag
e imprimirN
linhas depois:./out | grep -AN flag
Isso também não resolve o problema, meu palpite é que ele anexa as linhas da parte inferior do terminal, empurra o texto para cima e faz uma linha de cada vez também. e o que você acaba vendo é uma confusão na tela.
Obrigado!