내가 사용하고 있는 터미널은 흰색/밝은 배경을 가지고 있지만, 내가 사용하고 있는 명령의 출력에는 흰색 텍스트가 포함되어 있습니다(예: 전경색 = 흰색). 모든 흰색 전경을 검정색 전경으로 매핑하고 다른 색상은 변경하지 않고 유지하는 방법(예: 쉘 스크립트 사용)이 있습니까?
답변1
your_script | perl -pe 's/\e\[((?:0;)?)97m/\e[${1}30m/'
위에 제공된 Perl 코드에 스크립트 출력을 입력하면 이스케이프된 모든 색상 시퀀스가 흰색 전경 => 검정색 fg로 변환됩니다.
답변2
터미널의 정확한 기능은 버전과 구현에 따라 다릅니다. 일부 기존 터미널은 개별 창 사용자 정의 기능을 거의 제공하지 않는 반면, 많은 데스크탑 운영 체제에는 기본 설정을 열어 개별 창의 색상을 자유롭게 조정할 수 있는 아름다운 터미널이 있습니다.
빠르고 지저분한 해결 방법으로 마우스로 텍스트를 선택하면 종종 다른 색상 팔레트가 적용되어 도움이 될 수 있습니다. 그렇지 않은 경우 일반적으로 텍스트를 원하는 색상으로 다른 창에 붙여넣는 작은 추가 단계입니다.
답변3
터미널에 따라 다릅니다. xterm에서는 다음을 사용하여 색상 번호와 색상 이름의 매핑을 변경할 수 있습니다.이스케이프 시퀀스 OSC 4 ; NUMBER ; NAME BEL
. 명시적인 흰색은 색상 7이므로 다음과 같습니다.
printf '\e]4;7;black\a'
이는 배경 또는 전경으로 사용되는 색상에 영향을 미칩니다. 이는 렌더링 설정입니다. 즉, 과거와 미래의 모든 출력에 영향을 미칩니다.
이를 지원하는 다른 터미널은 거의 없습니다.