
Tengo un programa que tiene los siguientes resultados:
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
y así sucesivamente... repitiendo
Las salidas al terminal se crean usando c++ fprintf
con "\n"
, necesito que mi terminal muestre la posición de los paquetes fija en su lugar (en la misma fila cada vez que se imprime un nuevo paquete) mientras los datos dentro de los corchetes cambian.
No me importa tener varios paquetes de salida en el terminal al mismo tiempo, pero necesito que estén fijos en su lugar y que no salten de arriba a abajo en las filas para poder leerlos mientras ejecuto el programa.
¿Hay alguna manera de garantizar esto en la terminal?
Probé las siguientes soluciones:
- ralentizando la impresión al terminal:
./out | watch -n 1 cat
Esto no resuelve el problema. Lo que quiero no es una transmisión de datos más lenta en mi pantalla. No quiero que se mueva hacia arriba y hacia abajo en las líneas del terminal. esto hace que se mueva pero a un ritmo más lento.
- usando grep para hacer coincidir a
flag
e imprimirN
líneas después:./out | grep -AN flag
Esto tampoco resuelve el problema, supongo que agrega las líneas desde la parte inferior del terminal, empuja el texto hacia arriba y también lo hace una línea a la vez. y lo que terminas viendo es un desastre en la pantalla.
¡Gracias!