Devolver el cursor del terminal al inicio de línea con el ajuste habilitado

Estoy escribiendo un filtro (en una tubería destinada a una salida de terminal) que a veces necesita "sobrescribir" una línea que acaba de ocurrir. Funciona pasando stdin a stdout carácter por carácter hasta que\n Se alcanza, y luego se invoca un comportamiento especial. Mi problema se refiere a cómo volver al principio de la línea.

Lo primero que pensé fue usar un\r o la secuencia ANSI\033[1G. Sin embargo, si la línea era lo suficientemente larga para ajustarse en el terminal (y por lo tanto causó que se desplace), estos solo moverán el cursor de vuelta a la posición actual.físico línea.

Mi segunda idea fue hacer un seguimiento de la longitud de la línea (número de caracteres pasados ​​desde el anterior\n), y luego echo\b que muchas veces Sin embargo, eso va mal si la línea contiene caracteres de control o secuencias de escape (¿y posiblemente Unicode?).

Aparte de buscar todas las secuencias especiales y usar esto para ajustar el número de personajes, ¿hay alguna forma sencilla de lograrlo?