긴 텍스트 줄이 포함된 두 개의 텍스트 파일을 비교하는 데 이를 사용하면 diff -y
결과가 각 열이 잘려 전체 줄을 읽을 수 없습니다. 전체 줄을 읽을 수 있도록 텍스트를 줄 바꿈(또는 접기라고도 함)하고 싶습니다.
예를 들어, 각각 한 줄씩 두 개의 간단한 텍스트 파일이 있다고 가정해 보겠습니다.
cat tmp.txt tmp2.txt
The quick brown fox jumped over the lazy dog. This line is very long and will not show when I use a diff.
The quick brown fox did not jump over the lazy dog. This line is very long and will not show when I use a diff.
diff
나는 그것을 얻었다
diff -y tmp.txt tmp2.txt
The quick brown fox jumped over the lazy dog. This line is ve | The quick brown fox did not jump over the lazy dog. This line
이렇게 하면 가운데 선이 잘립니다.
-W
더 넓게 만드는 옵션이 있다는 것을 알고 있지만 선이 화면 너비보다 길어서 도움이 되지 않습니다. simple을 사용하면 diff
텍스트가 줄바꿈되지만 diff -y
.
그렇다면 텍스트 줄 바꿈을 어떻게 사용합니까 diff -y
?
도움이 된다면 Mac에서 터미널을 사용하고 있습니다.
이것은 간단한 것 같지만 여기저기 검색해봐도 해결책을 찾을 수 없습니다!
답변1
줄 번호 정보가 손실되어도 괜찮고 시각적 차이에만 관심이 있는 경우 fold
파일을 먼저 비교한 다음 비교할 수 있습니다.
diff -y <(fold -s -w72 file1) <(fold -s -w72 file2) -W 200
이 명령에서는 프로세스 대체를 사용하여 먼저 각 파일을 72자 줄로 축소하지만 -s
옵션을 사용하면 공백 문자에서만 줄을 바꿉니다.
행이 개행으로 접혀지면 diff 명령은 개행된 출력에서 작동합니다.
편집: diff를 폴드에 지정된 값보다 큰 값과 비교하기 위해 -W를 지정하면 diff와 폴드가 서로 맞을 수 있는 충분한 공간이 있는지 확인됩니다. 이 경우 -W 200이 diff에 제공됩니다.