다음 명령을 사용하여 디스크에 있는 두 파일 간의 차이점을 기록합니다.
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
컬러 출력을 생성하지 않도록 지시하는 것이 가장 좋습니다.
관련된: