diff -y를 사용하여 텍스트를 감싸는 방법은 무엇입니까?

diff -y를 사용하여 텍스트를 감싸는 방법은 무엇입니까?

긴 텍스트 줄이 포함된 두 개의 텍스트 파일을 비교하는 데 이를 사용하면 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에 제공됩니다.

답변2

나는 icdiff이 작업에 그것을 사용하는 것을 좋아합니다.

실행 후 스크린샷 icdiff tmp.txt tmp1.txt:

icdiff 출력

답변3

Kdiff3Diffview > Word Wrap Diff Windows프레임에서 가장 가까운 단어 경계에서 줄을 줄 바꿈하는 설정이 있습니다 . 이것이 제가 찾은 유일한 도구입니다.

kdiff3는 자동 줄 바꿈을 사용하여 두 텍스트 간의 차이점을 표시합니다.

관련 정보