추가 읽기

추가 읽기

터미널에 원래 이스케이프 시퀀스를 표시하는 방법이 있습니까? (예: 색상을 제어하는 ​​데 사용되는 것)

나는 이 UNIX.SE 문제에 부딪혔고 "빨간색" 출력을 필터링하고 싶었습니다(색상별로 명령 출력 필터링)

그러나 답변의 명령이 내 출력에 대해 작동하지 않습니다(예: git status"추적되지 않은 파일"의 빨간색). 그들은 거기의 예를 위해 일합니다 echo -e '\033[00;31mtest\033[00m' | grep --color=none '[[:cntrl:]]'. 필터링은 grep --color=none '[[:cntrl:]]'내 출력에 적용되지만 텍스트를 다른 색상으로 표시하기도 합니다.

나는 내가 보고 있는 빨간색이 다른 빨간색임에 틀림없다고 생각했습니다 \e[31m.

터미널 출력 원시 이스케이프 시퀀스를 갖는 방법이 있습니까?(올바른 순서를 사용하여 내가 보는 특정 빨간색을 필터링할 수 있도록)

(배시, 우분투 18.04)

- 갱신 -

명확히하기 위해 내 질문은 원래 이스케이프 시퀀스를 표시하는 방법입니다.

@egmont의 답변이 script작동합니다. 기본적으로 script출력을 기록하고 위 답변 중 하나를 사용하면 됩니다.질문예를 들어 빨간색 텍스트를 찾으세요.

script /tmp/a.txt
git status
exit
cat /tmp/a.txt | grep -Eo $'\e\\[31m[^\e]*\e\\[[03]?m'

git다른 답변/의견도 내 사용이 파이프를 통해 색상을 얻지 못한다 는 것을 올바르게 지적합니다 .

답변1

귀하의 질문을 올바르게 이해했는지 확실하지 않습니다.

내 생각엔 네가 원하는 것 같아조사하다유틸리티(예: git status)가 터미널 에뮬레이터로 보내는 내용입니다. 내가 맞나요?

유틸리티를 시작 script하면 정확히 이 내용이 기록됩니다. 그런 다음 전화 git status하거나 원하는대로하십시오. 그런 다음 셸을 종료 하면 이름이 지정된 파일이 생성되었음을 script알려줍니다 . typescript원하는 시퀀스를 찾으려면 텍스트 편집기에서 이 파일을 엽니다.

답변2

나는 내가 보고 있는 빨간색이 다른 빨간색임에 틀림없다고 생각했습니다 \e[31m.

당신은 잘못 추측했습니다.

% ptybandage git 상태. | grep 규칙 ECMA48 디코딩 |
상표
SGR 31
'나'
'영형'
'디'
'나'
'에프'
'나'
'이자형'
'디'
':'
''
''
''
'아르 자형'
'너'
'엘'
'이자형'
~의
SGR 0
CR
만약에
% 자식 상태. | grep 규칙 ECMA48 디코딩 |
상표
'나'
'영형'
'디'
'나'
'에프'
'나'
'이자형'
'디'
':'
''
''
''
'아르 자형'
'너'
'엘'
'이자형'
~의
만약에
%

git터미널에 쓰는 것을 고려 하지 않았 으므로 색상이 생성되지 않습니다.

추가 읽기

관련 정보