Наверное, это простая задача, но я с форматированием текста мало знаком, уже замучал поиск. Решил спросить у сообщества.
Есть программа
./metrics_monitor, которая выводит в терминал поток строк такого вида
RENDER usage: 3.03, VIDEO usage: 0.00, VIDEO_E usage: 0.00 GT Freq: 533.00
RENDER usage: 1.01, VIDEO usage: 0.00, VIDEO_E usage: 0.00 GT Freq: 350.00
RENDER usage: 0.00, VIDEO usage: 0.00, VIDEO_E usage: 0.00 GT Freq: 350.00
RENDER usage: 0.00, VIDEO usage: 0.00, VIDEO_E usage: 0.00 GT Freq: 350.00
RENDER usage: 6.12, VIDEO usage: 0.00, VIDEO_E usage: 0.00 GT Freq: 967.00
RENDER usage: 55.79, VIDEO usage: 35.79, VIDEO_E usage: 0.00 GT Freq: 1000.00
RENDER usage: 71.43, VIDEO usage: 41.84, VIDEO_E usage: 0.00 GT Freq: 1000.00
RENDER usage: 64.58, VIDEO usage: 34.38, VIDEO_E usage: 0.00 GT Freq: 1000.00
RENDER usage: 62.64, VIDEO usage: 42.86, VIDEO_E usage: 0.00 GT Freq: 1000.00
RENDER usage: 65.98, VIDEO usage: 39.18, VIDEO_E usage: 0.00 GT Freq: 1000.00
RENDER usage: 68.37, VIDEO usage: 44.90, VIDEO_E usage: 0.00 GT Freq: 1000.00
Строки однотипные, но данные меняются. Однако неудобно следить когда они бегут и заполняют весь терминал. Как и чем отформатировать этот вывод, (не меняя программы, ибо проприетарная и похоже бинарник) чтобы каждая следующая строка писалась на место предыдущей, то есть замещала её на экране терминала (или предыдущая бы стиралась а новая записывалась на её место) Если учесть что некоторые разняться на несколько символов, еще и пробелов дописать в хвост тем строкам что короче, чтобы стирали собой более длинные.
Другой вариант - выделить четыре массива данных из строки, как видно, и расположить их в столбик, по тому же принципу - новая порция данных замещает предыдущую.