I have to run a third-party program in background and capture its output to file. I'm doing this simply using the_program > output.txt
. However, the coders of said program decided to be flashy and show processed lines in real-time, using \b
characters to erase the previous value. So, one of the lines in output.txt ends up like Lines: 1(b)2(b)3(b)4(b)5
, (b)
being an unprintable character with ASCII code 08
. I want that line to end up as Lines: 5
.
I'm aware that I can write it as-is and post-process the file using AWK, but I wonder if it's possible to somehow process the control characters in-place, by using some kind of shell option or by piping some commands together, so that line would become Lines: 5
without having to run any additional commands after the program is done?
Edit:
Just a clarification: what I wrote here is a simplified version, actual line count processed by the program is a hundred thousands, so that string ends up quite long.