আপডেট: আমি সিপিএএন থেকে মডিউল এইচটিএমএল :: ফানএএনএসআইperl
ব্যবহার করে একটি পদ্ধতি যুক্ত করেছি .. এটি ইনস্টল করতে, কেবল এটি একটি ডিরেক্টরিতে এক্সট্র্যাক্ট করে মূল হিসাবে চালান: সেই ডিরেক্টরি থেকে। আপনার অনুরোধ অনুসারে বিশেষ বৈশিষ্ট্যটি হ'ল একটি স্ক্রিপ্ট । আকর্ষণীয়ভাবে যথেষ্ট, এটি এলিজিপ-শেল স্ক্রিপ্টের মতো ফাইলের নামগুলিতে ওভারলাইডের পরে একই রঙের ক্ষয়-রঙ দেখায় ... এখানে উদাহরণের ব্যবহার রয়েছে: perl -MCPAN -e 'install HTML::FromANSI'
ansi2html
k
ls -l --color=always /bin/*k* |
grep --color=always "k\|x\|2010" |
ansi2html >/tmp/example.html
firefox /tmp/example.html
এইচটিএমএল আউটপুট এখানে। ফায়ারফক্সে যেমন দেখা গেছে:
এখানে একটি পদ্ধতি একটি ব্যবহার করছে Emacs elisp-শেল স্ক্রিপ্ট উদাহরণস্বরূপ বলা ... htmlize ... এ গিয়ে Emacs চলমান করা প্রয়োজন হবে না।
আমি মূলত এটি একটি কালো ব্যাকগ্রাউন্ডে পরীক্ষা করেছি, তবে আমি লক্ষ্য করেছি যে কোনও কারণে, একটি সাদা ব্যাকগ্রাউন্ড চালু \e[K
হওয়া কোডগুলির সাথে একটি ভাল খেলায় না , যা ERASE_LINE বলে মনে হয় (টার্মিনাল আউটপুটটির বর্তমান লাইনটি মুছুন) । আমি এই এস্কেপ কোডটি সরাতে একটি লাইন যুক্ত করেছি। এটি এখন একটি সাদা পটভূমির জন্য কাজ করে।
এখানে আরও বর্ণের হাইলাইট 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"))
এখানে ফায়ারফক্সে এইচটিএমএল আউটপুটের একটি নমুনা দেওয়া হয়েছে ... আমি যদি সময় পাই তবে আমি ওভারলেটিং এএনএসআই কোড ইস্যুটি আরও খতিয়ে দেখব। যেখানে লাল k
গুলি সবুজ ফাইলের নামগুলি ওভারল্যাপ করে, তবে কেবলমাত্র গ্রেপের জন্য তাড়াতাড়ি নির্বাচিত পরীক্ষার রেজেক্সের কারণে এটি ঘটে ... (সম্ভবত এটি কিছু \e[K
প্রভাব ফেলে ...