컬러 출력의 색상 변경

컬러 출력의 색상 변경

내 터미널에는 흰색 배경이 있습니다. 명령이 터미널에 노란색 텍스트를 인쇄하면 (낮은 대비로 인해) 텍스트를 명확하게 볼 수 없습니다. 나는 생각했다: 인쇄될 노란색 텍스트가 모두 갈색 텍스트로 변환되면 좋지 않을까? 이렇게 하면 인쇄된 텍스트를 보는 데 어려움을 겪지 않고도 컬러 출력을 즐길 수 있습니다.

명령이 노란색 텍스트를 인쇄하려고 한다고 가정합니다. 갈색 텍스트가 인쇄되도록 이스케이프 시퀀스를 "하이재킹"하는 방법이 있습니까? 아니면 색상 변환을 수행하는 다른 방법이 있습니까?

gnome-terminal참고: 저는 Ubuntu 18.04를 사용하고 있습니다.

답변1

오늘날 많은 터미널(gnome-terminal 포함)은 8색, 256색 및 24비트(약 16x10^6 색상)의 2개 또는 3개 색상 팔레트를 사용합니다. 그러나 일반적으로 처음 두 그룹은 마지막 그룹에서 임의로 선택할 수 있으며, 이 경우도 마찬가지입니다 gnome-terminal(예: 사촌 terminator).

이제 24비트 RGB 팔레트에서 선택한 특정 팔레트를 변경하려면 다음이 필요합니다.\e]4탈출 코드다음은 색상 코드 번호와 RGB 색상을 변경하는 것입니다. 당신의 경우에는

printf '\e[33mTEST\e[m\n'           # first print "TEST" to see yellow text
printf '\e]4;3;rgb:b0/4a/00\e\\'    # now we change yellow to brown
printf '\e[33mTEST\e[m\n'           # test again

노란색의 별명은 이고 3, 갈색의 별명은 제가 임의로 정한 것입니다 b04a00. 수정 후에는 이전에 인쇄된 텍스트까지 포함하여 모든 노란색 텍스트가 변경된 것을 확인할 수 있습니다.

관련 정보