Wie jeder habe ich ein paar farbige Ausgaben in meiner Bash. Ich möchte die kolorierte Syntax beibehalten, wenn ich beispielsweise einen Auszug in einen HTML-Editor kopiere. Gibt es eine Möglichkeit, damit umzugehen?
Vielen Dank.
Wenn Sie sich über kolorierte Ausgabe von einigen Befehlszeilen - Dienstprogramme zu sprechen sind wie ls
, grep
, cmake
, git diff
, etc. Bitte beachten Sie , dass es hat keine Beziehungen zu GNU Bash.
Es gibt jedoch mehrere Tools zum Konvertieren von mit ANSI-Escape-Sequenzen eingefärbten Ausgaben in HTML:
aha
aus gleichnamigem Paketansi2html
aus dem HTML :: FromANSI Perl-Modul (nicht in Ubuntu Repo enthalten, kann aus dem CPAN installiert werden)ansi2html.sh
von pixelb (nicht verpackt, download von git)Die Verwendung von allen ist recht einfach: Sie lesen terminale Escape-Sequenzen aus stdin
und fügen HTML ein stdout
. Beachten Sie jedoch, dass die meisten Utils die Ausgabe nicht einfärben, wenn sie nicht zum Terminal wird. Sie müssen sie bestellen, um eine explizite farbige Ausgabe zu erhalten. Z.B.:
$ ls --color=always | aha | xsel -i -b
xsel -i -b
Hier wird HTML in die Zwischenablage kopiert.
aha
) hat wunderbar funktioniert; vielen Dank!git -c color.ui=always diff | aha > /tmp/diff.html && firefox /tmp/diff.html
... und ja, ich weiß, dass das OP das HTML wollte, aber viele von uns werden hier gerne stolpern die Formatierung im Allgemeinen.Sie müssen dafür Javascript-Bibliotheken verwenden. Sie können die Farben nicht direkt kopieren / einfügen und behalten, wie sie sind. Einige der beliebtesten Bibliotheken hierfür sind:
Quelle: Ähnliche Frage zu SO
quelle