소스에 관계없이 컬러 출력 저장

소스에 관계없이 컬러 출력 저장

소스가 표준 출력이 터미널이 아니라는 것을 감지하면 색상 지정이 꺼진 경우 소스에 관계없이 색상 있는 출력을 파일에 어떻게 저장할 수 있습니까?

답변1

내가 함께 구성한 다음 스크립트는 트릭을 수행하는 것 같습니다.

#!/usr/bin/env ruby
# -*- coding: utf-8 -*-

require 'pty'
PTY.spawn(*ARGV) do |r,w,pid|
  begin
    while $_ = r.gets
      STDOUT.print $_
    end
  rescue Errno::EIO
  end
end

의사 터미널에서 CLI 매개변수를 실행하고 출력을 STDOUT으로 전달합니다.

사용 예:

./script.rb ls --color=auto >| file #file will have them ANSI color code sequences in it because ls did run in a terminal.

관련 정보