텍스트 파일에서 색상 코드 이스케이프 시퀀스를 제거하는 데 어떤 명령을 사용할 수 있습니까? 이상적으로는 파이프를 통과 할 수 있습니다. 컬러 텍스트 rainbow.txt가 많은 파일이 있으면 그 차이는 무엇입니까?
cat rainbox.txt | *something* > plain.txt
CentOS 4.4에서 bash에서 일하고 있습니다.
답변
시험:
sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g"
답변
cat rainbox.txt | col -b > plain.txt
답변
이스케이프 시퀀스가 무엇인지는 일반적으로 잘 정의되어 있지 않기 때문에 이스케이프 시퀀스가 어떤 종류의 터미널에 적합한 지 알아야합니다. 문제를 “ANSI 색상 시퀀스 제거”(제대로 가정)로 제한하려면 다음과 같이하십시오.
sed 's/\o033\[[0-9]*;[0-9]*m//g'
트릭을해야합니다.
답변
다음은 [Xm , [X; m , [X; Ym , [X; Y; Zm) 가능성 을 캡처합니다 (일부는 기술적으로 잘못되었을 수 있지만 작동하며 야생에서 보임).
sed -r 's|\x1B\[[0-9]{1,2};?(;[0-9]{1,2}){,2}m||g'