ในขณะที่ทุกคนฉันมีเอาต์พุต colorized ไม่กี่ในทุบตีของฉัน ฉันต้องการให้ไวยากรณ์ colorized เมื่อคัดลอกสารสกัดไปยังตัวแก้ไข HTML ตัวอย่างเช่น มีวิธีจัดการกับเรื่องนี้หรือไม่?
ขอบคุณ
ในขณะที่ทุกคนฉันมีเอาต์พุต colorized ไม่กี่ในทุบตีของฉัน ฉันต้องการให้ไวยากรณ์ colorized เมื่อคัดลอกสารสกัดไปยังตัวแก้ไข HTML ตัวอย่างเช่น มีวิธีจัดการกับเรื่องนี้หรือไม่?
ขอบคุณ
คำตอบ:
หากคุณกำลังพูดคุยเกี่ยวกับการส่งออก colorized คำสั่งบางสาธารณูปโภคบรรทัดชอบls
, grep
, cmake
, git diff
ฯลฯ โปรดทราบว่ามันไม่ได้มีความสัมพันธ์ที่จะ GNU ทุบตีใด ๆ
อย่างไรก็ตามมีเครื่องมือหลายอย่างสำหรับการแปลงเอาต์พุตสีด้วย ANSI escape sequences เป็น HTML:
aha
จากแพ็คเกจที่มีชื่อเดียวกันansi2html
จากHTML ::โมดูลFromANSI Perl (ไม่ได้บรรจุใน Ubuntu repo สามารถติดตั้งได้จาก CPAN)ansi2html.sh
โดยpixelb (ไม่ใช่แพ็คเกจให้ดาวน์โหลดจาก git)การใช้งานของทั้งหมดของพวกเขาค่อนข้างง่าย: พวกเขาอ่านลำดับหนีขั้วจากstdin
และใส่ HTML stdout
เพื่อ แต่หมายเหตุ: สิ่งที่เป็นประโยชน์ส่วนใหญ่จะไม่เปลี่ยนสีเอาท์พุทถ้ามันไม่ได้ไปที่เทอร์มินัล คุณต้องสั่งให้ผลิตออกมา colorized อย่างชัดเจน เช่น.:
$ ls --color=always | aha | xsel -i -b
xsel -i -b
ที่นี่จะคัดลอก HTML ไปยังคลิปบอร์ด
git -c color.ui=always diff | aha > /tmp/diff.html && firefox /tmp/diff.html
... และใช่ฉันรู้ว่า OP ต้องการ HTML แต่เราหลายคนจะสะดุดที่นี่ต้องการ การจัดรูปแบบโดยทั่วไป
คุณต้องใช้ไลบรารี javascript เพื่อที่คุณจะไม่สามารถคัดลอก / วางและเก็บสีได้เหมือนเดิม บางไลบรารียอดนิยมสำหรับนี้คือ:
ที่มา: คำถามที่คล้ายกันเกี่ยวกับ SO
aha
) ทำงานได้อย่างสวยงาม; ขอบคุณมาก!