
На днях столкнулся с такой ситуацией: паттерн, который гарантированно должен обеспечивать непустой вывод, вместо текста производит множество пустых строк.
Уже сталкивался с этим, но давно и причину вспомнил не сразу. Пофрустрировав, всё-таки припомнил, разобрался детальнее и решил написать небольшую заметку.
TL;DR: Причина – встреча символа возврата каретки CR
(\r
) с управляющей последовательностью \x1B[K
: CR
возвращает курсор в начало строки, а \x1B[K
удаляет всё от курсора до конца строки. ОС - Ubuntu 24.04, терминал Terminator 2.1.3, шелл Bash.