Eine Bibliothek zum Konvertieren von ANSI-Escapezeichen (Terminalformatierung / Farbcodes) in HTML [geschlossen]

80

Ich suche nach einer Codebibliothek, die ANSI-Escape-Sequenzen über einfache Tags oder CSS in HTML-Farben konvertiert. Zum Beispiel etwas, das dies konvertieren würde:

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

Das sehr gut finden:

<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

Das Konvertieren von Pausen in <br/> ist nicht erforderlich, es sind nur die Escape-Codes, die ich nicht kenne. Ich könnte es selbst zusammen hacken, aber ich würde wahrscheinlich etwas Wichtiges vermissen, wie Unterstreichungen oder die Funktionsweise von Hintergrundfarben durcheinander bringen. Ich setze mich lieber auf den Code eines anderen.

Gibt es ein solches Tool (Befehlszeilen-Linux) oder eine solche Bibliothek (vorzugsweise Perl, Python oder Ruby)?

Myrddin Emrys
quelle
Tolle Frage und wertvolle Antworten!
cxw

Antworten:

95

ahaist ein C-Sprachprogramm, das in einem Ubuntu-Paket unter http://ziz.delphigl.com/tool_aha.php oder auf github https://github.com/theZiz/aha verfügbar ist und eine Eingabe mit Terminalfarben von übernimmt Pipe oder Datei und legt eine (w3c-konforme) HTML-Datei in stdout ab. Beispiel:

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

oder

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

für einen terminalartigen Look mit schwarzem Hintergrund.

Kompilieren Sie es mit "make" und platzieren Sie es, wo immer Sie wollen.

Es wäre toll, Feedback zu bekommen. ;-);

Alexander Matthes
quelle
2
IcanDivideBy0 hat etwas verpasst: Der "deutsche Link" in Alexander Matthes 'Beitrag bleibt gültig. Der ursprüngliche Beitrag enthält ein fehlerhaftes '' vor "ziz". Verwenden Sie ziz.delphigl.com/tool_aha.php. Außerdem verweist Alexanders Link auf: - Quelle unter ziz.delphigl.com/data/aha-src-0.4.4.tar.gz und - andere Debian-Pakete unter http: // packages.debian.org/search?keywords=aha (entfernen Sie das nach ':' hinzugefügte Leerzeichen (''), da ich nicht die Berechtigung habe, mehr als 2 Links pro Beitrag aufzunehmen.)
Der Schley
7
Es gibt ein Ubuntu-Paket für aha
grep
1
Ich wollte nur für andere beachten, dass das Github-Repo für diese App auf OS X problemlos kompiliert und ausgeführt wird. :)
Masukomi
3
Ich habe gerade eine Homebrew Pull-Anfrage für Aha hinzugefügt . Wenn es akzeptiert wird, ist die Installation von aha brew update && brew install ahaauf Macs einfach .
Nachtlandschaft
2
Scheint nur 16 Farben zu handhaben, soweit ich das beurteilen kann.
Gringo Suave
20

Ausgereifte Python-Bibliothek und Befehlszeilentool, die noch beibehalten werden: ralphbean / ansi2html

Alternativ für die Bourne-Shell: ansi2html.sh

Janus Troelsen
quelle
2
"Inspiriert von und entwickelt aus der Arbeit von Pixelbeat und Blackjack". Ich mag dieses besser und die Option -i ist großartig :)
DavidG
Großartig! Beide verarbeiten auch 256 Farben. Upvoted.
Jamadagni
Der pixelbeat ansi2html.sh hat bei mir gut funktioniert!
cxw
Nicht mehr auf Bourne beschränkt und deb, yum, apt-Pakete verfügbar: pypi.python.org/pypi/ansi2html/1.0.7
Kochfelder