Güncelleme: CPAN'dan HTML :: FromANSI modülünüperl
kullanarak bir yöntem ekledim. Kurmak için sadece bir dizine çıkartın ve root olarak çalıştırın: o dizindenperl -MCPAN -e 'install HTML::FromANSI'
. İsteğinize uygun özel özellik denilen bir komut dosyası ansi2html
. İlginçtir ki, elisp-shell betiğinde k
olduğu gibi, dosya adlarında üst üste bindikten sonra aynı renk kaybını gösterir ... İşte bir örnek kullanım:
ls -l --color=always /bin/*k* |
grep --color=always "k\|x\|2010" |
ansi2html >/tmp/example.html
firefox /tmp/example.html
İşte html çıktısı. Firefox'ta görüldüğü gibi:
İşte bir emacs elisp-shell betiği kullanan bir yöntem ... örneğin, htmlize ... Emacs'ın çalışması gerekmiyor.
Orijinal olarak siyah bir arka plan üzerinde test ettim, ancak bir sebepten dolayı, beyaz arka planın \e[K
ERASE_LINE (mevcut terminal çıkış satırını sil) gibi görünen , tanıtılan Escape Kodlarından biriyle iyi oynamadığını fark ettim . Bu Escape Kodunu kaldırmak için bir satır ekledim. Şimdi beyaz bir arka plan için çalışıyor.
Burada renk vurgulaması için renklendirilmiş çıktının ls
borulanmaya bir örneği verilmiştir grep
.
ls -l --color=always /bin/*k* |
grep --color=always "k\|x\|2010" >/tmp/example
htmlize /tmp/example
firefox /tmp/example.html
bu elsip-shell
senaryo.
#!/bin/sh
":"; exec /usr/bin/emacs -Q --script "$0" -- "$@" # -*-emacs-lisp-*-
(require 'ansi-color) (require 'htmlize)
(find-file (setq path-in (cadr argv)))
(ansi-color-apply-on-region (point-min) (point-max))
(switch-to-buffer (buffer-name (htmlize-buffer)))
(write-file (concat path-in ".html"))
İşte Firefox'ta html çıktısının bir örneği ... Zaman alırsam, üst üste binen ANSI kodları sorununa daha fazla bakacağım. kırmızıların k
yeşil dosya adlarıyla çakıştığı yerlerde , ancak bu sadece grep için aceleyle seçilmiş bir test regex'i nedeniyle var ... (belki de bu \e[K
etkiyi ...