какой СРОК использовать, чтобы избавиться от цветовых escape-кодов? [closed]

Есть ли способ избавиться от escape-кодов в выводе терминала?

Скажем, даже если сценарий отправляет эти коды, они игнорируются терминалом, а текст отображается как есть, без цветов, жирного шрифта и т. Д.

Мне нужно отобразить вывод терминала на странице HTML.

На данный момент я использую javascript для удаления escape-кодов, но это становится неуклюже, потому что я получаю вывод по символам, и мне приходится ждать, пока весь полученный контент не обновлен, что приводит к странным эффектам.

1
задан 5 November 2012 в 07:00
1 ответ

Программа может выводить на STDOUT все, что угодно, включая escape-коды, независимо от значения TERM. Однако установка TERM на «немой» поможет большинству программ, которые проверяют возможности терминала на предмет поддержки цвета.

Кроме того, некоторые программы перед форматированием своего вывода проверяют, что STDOUT указывает на интерактивный терминал, а не на канал или файл. Эти программы можно перенаправить в файл или передать по конвейеру через что-то еще, например cat или less -r .

Если вы сузите проблему до подмножества экранирований, те, которые меняют цвета, а не позицию курсора, вы должны иметь возможность проверить ESC, установить флаг, чтобы остановить отображение символов на странице, и сбросить флаг после «m».

1
ответ дан 4 December 2019 в 00:54

Теги

Похожие вопросы