ในขณะที่ทุกคนฉันมีเอาต์พุต 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) ทำงานได้อย่างสวยงาม; ขอบคุณมาก!