Бібліотека для перетворення екранованих екранів ANSI (форматування терміналу / кольорові коди) у HTML [закрито]


80

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

ESC [00mESC [01; 34mbinESC [00m
ESC [01; 34m коду ESC [00m
ESC [01; 31mdropbox-lnx.x86-0.6.404.tar.gzESC [00м
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/> не потрібно, це просто евакуаційні коди, яких я не знаю. Я міг би це зломти сам, але, мабуть, я пропустив би щось важливе, наприклад, підкреслення або зіпсував, як працюють кольори тла. Я волів би просто сісти поверх чужого коду.

Чи існує такий інструмент (командний рядок Linux) або бібліотека (бажано perl, python або ruby)?


Чудове питання та цінний набір відповідей!
cxw

Відповіді:



96

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

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

або

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

для термінального вигляду з чорним фоном.

Складіть його, зробивши, і покладіть куди завгодно.

Було б чудово отримати відгук. ;-)


2
IcanDivideBy0 щось пропустив: "німецьке посилання" у дописі Олександра Меттеса залишається чинним. Повідомлення orig має помилкове '' перед "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 (видалити пробіл «доданий після)" ( ":", так як у мене немає , щоб включати спеціальні дозволи більше 2 посилань на пост.)
Der Schley

7
Існує пакет ubuntu для aha
grep

1
Просто хотів зазначити для інших, що репозиторій github для цього додатка компілюється та працює без проблем на os x. :)
masukomi

3
Я щойно додав запит на витяг домашнього пива для ага . Якщо це буде прийнято, встановлення aha буде простим brew update && brew install ahaна Mac.
Nightscape

2
Здається, він обробляє лише 16 кольорів, наскільки я можу зрозуміти.
Gringo Suave

19

Зріла бібліотека Python та інструмент командного рядка, який досі підтримується: ralphbean / ansi2html

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


2
"Натхненний роботою pixelbeat та blackjack та розвинутий в ній". Мені це більше подобається, і варіант -i чудовий :)
DavidG

Чудово! Обидва вони також обробляють 256 кольорів. Прихильний.
jamadagni

Pixelbeat ansi2html.sh у мене добре працював!
cxw

Більше не обмежується Bourne та доступні пакунки deb, yum, apt: pypi.python.org/pypi/ansi2html/1.0.7
плита
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.