Библиотека для преобразования escape-символов ANSI (форматирование терминала / цветовые коды) в HTML [закрыто]


80

Я ищу библиотеку кода, которая преобразует escape-последовательности ANSI в цвет HTML с помощью простых тегов или CSS. Например, что-то, что преобразовало бы это:

ESC [00mESC [01; 34mbinESC [00m
ESC [01; 34mcodeESC [00m
ESC [01; 31mdropbox-lnx.x86-0.6.404.tar.gzESC [00m
ESC [00mfooESC [00m

В это:

<span style="color:blue">bin</span>
<span style="color:blue">code</span>
<span style="color:red">dropbox-lnx.x86-0.6.404.tar.gz</span>
foo

Преобразовывать разрывы в <br/> не обязательно, я не знаю только escape-коды. Я мог бы собрать все вместе, но я, вероятно, пропустил бы что-то важное, например, подчеркивание, или испортил бы работу цветов фона. Я бы предпочел просто сесть поверх чужого кода.

Существует ли такой инструмент (командная строка linux) или библиотека (предпочтительно perl, python или ruby)?


Отличный вопрос и ценный набор ответов!
cxw

Ответы:



96

ahaэто программа на языке C, доступная в пакете Ubuntu по адресу http://ziz.delphigl.com/tool_aha.php или на github https://github.com/theZiz/aha , которая принимает ввод с цветами терминала с помощью pipe или file и помещает HTML-файл (соответствующий w3c) в stdout. Пример:

ls --color=always | aha > ls-output.htm

или же

ls --color=always | aha --black > ls-output.htm

для терминального вида с черным фоном.

Скомпилируйте его "make" и поместите куда хотите.

Было бы здорово получить обратную связь. ;-)


2
IcanDivideBy0 что-то упустил: «немецкая ссылка» в посте Александра Маттеса остается в силе. В оригинальном посте есть ошибочное "" перед "ziz"; используйте ziz.delphigl.com/tool_aha.php Далее ссылка Александра указывает на: - источник на ziz.delphigl.com/data/aha-src-0.4.4.tar.gz и - другие пакеты debian на http: // packages.debian.org/search?keywords=aha (удалите пробел (''), добавленный после ':', поскольку у меня нет привилегий включать более двух ссылок в сообщение.)
Der Schley,

7
Есть пакет ubuntu для aha
grep

1
Просто хотел отметить для других, что репозиторий github для этого приложения компилируется и запускается без проблем на os x. :)
masukomi 09

3
Я только что добавил запрос на вытягивание Homebrew для ага . Если он будет принят, установка aha brew update && brew install ahaна Mac будет простой задачей.
Nightscape

2
Насколько я могу судить, обрабатывает только 16 цветов.
Gringo Suave

19

Зрелая библиотека Python и инструмент командной строки, которые все еще поддерживаются: ralphbean / ansi2html

В качестве альтернативы для оболочки Борна: ansi2html.sh


2
«Вдохновленный и разработанный на основе работы пиксельбита и блэкджека». Мне этот больше нравится, и опция -i великолепна :)
DavidG

Большой! Оба поддерживают 256 цветов. Проголосовали.
jamadagni

Pixelbeat ansi2html.sh у меня отлично сработал!
cxw

Не ограничиваясь Борна больше и Деб, ням, APT пакеты доступны: pypi.python.org/pypi/ansi2html/1.0.7
варочные панели
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.