diff: 이 출력은 무엇을 나타냅니까? [복사]

diff: 이 출력은 무엇을 나타냅니까? [복사]

다음 명령을 사용하여 디스크에 있는 두 파일 간의 차이점을 기록합니다.

diff --color=always -sy --suppress-common-lines --suppress-blank-empty file1.c file2.c >> diff_log.txt

내부에는 diff_log.txt다음 중 하나로 시작하는 많은 줄이 있습니다.

^[[31m
^[[0m

^[파란색과 흰색으로 제공 됩니다 [.

이것이 무엇을 의미하는지 잘 모르겠습니다. 누구든지 이것을 설명할 수 있나요?

티아

답변1

이는 diff텍스트 색상을 변경하는 명령에 의해 출력되는 제어 시퀀스입니다. 출력 색상을 지정하는 데 사용하도록 요청했기 때문에 이 작업이 수행됩니다 --color=always. 이 옵션을 --color=never또는 로 변경하거나 --color=auto명령에서 완전히 제거하는 것을 고려하십시오.

명령을 다시 실행하면 새 출력은 다음과 같습니다.추가의>>출력 파일을 자르고 다시 쓰는 대신 리디렉션을 사용하기 때문에 >이전 실행의 출력 파일에 이러한 제어 시퀀스가 ​​계속 표시됩니다.

또 다른 옵션은 파일 보기를 사용하는 것입니다 less -R. 이는 파일의 색상 변경 제어 시퀀스를 해석하여 텍스트 색상을 변경합니다( 참조 man less). 이것은 단지 원하는 경우에만 선택할 수 있는 옵션입니다.바라보다그러나 문서에는. 데이터를 추가로 처리하려면 diff컬러 출력을 생성하지 않도록 지시하는 것이 가장 좋습니다.

관련된:

관련 정보