วิธีการ“ ยกเลิกการบันทึก ANSI-fy”
เมื่อเร็ว ๆ นี้มีแนวโน้มโดยเครื่องมือบรรทัดคำสั่งเพื่อใช้สีแฟนซี ANSI ในบันทึกผลลัพธ์ของพวกเขา (ตัวอย่างเช่น NPM และโฮสต์ของเครื่องมือตาม nodejs, rvm, นักเทียบท่าและเครื่องมือ "ทันสมัย" อื่น ๆ อีกสองสาม) สิ่งนี้ทำให้การอ่านบนหน้าจอ (*) เป็นเรื่องที่ดี แต่ไม่ดีนักเมื่อคุณต้องการไพพ์เอาต์พุตไปยังล็อกไฟล์หรือผ่านการขนส่งที่ไม่รองรับ ANSI เช่นเครื่องมือการเรียกใช้จากระยะไกลและโซลูชันการตรวจสอบผ่านเว็บ เครื่องมือที่เป็นผู้ใหญ่มากขึ้นอย่างน้อยก็มีความเหมาะสมในการตรวจจับเมื่อเอาต์พุตไม่ใช่ TTY และปิดการใช้สี แต่ไม่ใช่กับ CLIs ใหม่ที่เป็นมิตรกับผู้ใช้ซึ่งทำให้ฉันพยายามกำจัดสี ANSI ด้วยการวางท่อ เอาท์พุทผ่านกระบวนการอื่น การซึมซับผลลัพธ์ที่ผ่านมาs/\x1B\[[0-9]*\w//gดูเหมือนจะทำให้งานเสร็จ แต่มีวิธีที่สะอาดกว่านี้เพียงคัดลอกการวางนิพจน์ปกติลงในสคริปต์ทั้งหมดของฉัน (*) อย่างน้อยก็จนกว่าเครื่องมือจะพยายามแสดงข้อผิดพลาดเป็นสีแดงเข้มบนเทอร์มินัลพื้นหลังสีเข้มของคุณ