อัปเดต:ฉันได้เพิ่มperlวิธีการโดยใช้โมดูล HTML :: FromANSI จาก CPAN .. หากต้องการติดตั้งเพียงแยกไปยังไดเรกทอรีและเรียกใช้ในฐานะรูท: perl -MCPAN -e 'install HTML::FromANSI'จากไดเรกทอรีนั้น ansi2htmlคุณลักษณะเฉพาะเพื่อให้เหมาะกับคำขอของคุณเป็นสคริปต์ที่เรียกว่า ที่น่าสนใจก็คือมันแสดงให้เห็นถึงการสูญเสียสีเดียวกันหลังจากการซ้อนทับkในชื่อไฟล์เช่นเดียวกับสคริปต์elisp-shell ... นี่คือตัวอย่างการใช้งาน:      
ls -l --color=always /bin/*k* | 
 grep --color=always "k\|x\|2010" |
  ansi2html  >/tmp/example.html
firefox /tmp/example.html
นี่คือเอาต์พุต html เท่าที่เห็นใน Firefox:  
  
นี่คือวิธีการใช้สคริปต์ elisp-shell emacs  ... ตัวอย่างเช่นเรียกว่าhtmlize ... Emacs ไม่จำเป็นต้องทำงาน  
ฉันเดิมทดสอบบนพื้นหลังสีดำ แต่ผมสังเกตเห็นว่าด้วยเหตุผลบางพื้นหลังสีขาวไม่ได้เล่นได้ดีกับหนึ่งในรหัสหนีแนะนำ\e[Kซึ่งดูเหมือนว่าจะเป็น ERASE_LINE (ลบบรรทัดปัจจุบันของการส่งออก Terminal) ฉันได้เพิ่มบรรทัดเพื่อลบรหัสการยกเว้นนี้ ตอนนี้มันใช้งานได้สำหรับพื้นหลังสีขาว   
นี่คือตัวอย่างของการแสดงสีที่ไฮไลต์จากlsการถูกไพพ์ไปยังgrepสำหรับการไฮไลต์สีเพิ่มเติม  
ls -l --color=always /bin/*k* | 
 grep --color=always "k\|x\|2010" >/tmp/example
htmlize /tmp/example
firefox /tmp/example.html
นี่คือelsip-shellสคริปต์  
#!/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"))
นี่คือตัวอย่างของเอาต์พุต html ใน Firefox ... ถ้าฉันมีเวลาฉันจะดูเพิ่มเติมเกี่ยวกับปัญหารหัส ANSI ที่ซ้อนทับ ที่สีแดงkทับซ้อนกับชื่อไฟล์สีเขียว แต่นั่นเป็นเพราะการทดสอบ regex สำหรับ grep \e[K...
