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