대용량 파일의 차이점

대용량 파일의 차이점

나란히 비교하고 싶은 2개의 ~1GB 파일이 있습니다. 내가 시도한 솔루션:

  • diff- 빠르게 작동하지만 나란히 출력할 수는 없습니다.
  • diff -y또는 sdiff- 나란히 출력되지만 출력됩니다.모두파일 - 변경 사항뿐 아니라 찾을 수 없습니다.
  • icdiff- 너무 느립니다(Python으로 작성되었으므로 놀랄 일은 아닙니다).
  • ydiff- 실제로 시도해 보지는 않았지만 Python으로도 작성되었기 때문에 속도도 느릴 것으로 예상됩니다.
  • KDiff3 - 충돌이 발생했습니다.
  • Xcode FileMerge - 너무 느립니다(몇 분 동안 응답하지 않음).
  • 비교를 넘어서 - 최대 500MB 제한.
  • Meld - 약간의 진전이 있었지만 너무 느려서 유용하지 않았습니다.
  • vimdiff- 파일이 성공적으로 로드되고 실제로 나란히 차이점이 표시되지만 색 구성표로 인해 읽을 수 없으며 위로 눌러 스크롤하는 등 일반 프로그램에서 기대할 수 있는 일반 기능이 작동하지 않습니다.

답변1

지금까지 내가 가진 최고는 다음과 같습니다.

diff -y --suppress-common-lines --speed-large-files file1 file2

너비를 제어하는 ​​데 사용됩니다 --width=200.

안타깝게도그러면 컨텍스트 라인이 표시되지 않습니다..

내가 찾은또 다른 솔루션은grep좋아 보이지만 정규식을 사용하고 너무 느립니다.

답변2

vimdiff다음과 같이 Vagrant와 함께 설치되는 "MINGW64" [mintty 2.0.3 (x86_64-pc-msys © 2015 by Andy Koppe) 터미널에서 잘 작동합니다.VaryingVagrantVagrants 지시어.]

Ctrl+f앞으로 탐색, 뒤로/위로 탐색 Ctrl+b(다음과 같이 두 파일을 비교한 경우 두 번째 파일을 닫습니다.):q-Enter:q-Enter

![viminfo 출력 예]2

화살표 키는 마우스 휠과 같은 기능을 합니다. 인내심을 갖고 로딩이 완료될 때까지 기다리세요. .minttyrc"MINGW64" 창 옵션과 파일(자세한 내용은 여기를 참조하세요.):

![MINGW64/민티 옵션]4 찾기 쉽도록 커서를 주황색으로 설정하고 깜박입니다.

2:

답변3

컨텍스트가 필요한 경우 이전(-B) 및 이후(-A) 컨텍스트를 사용하여 egrep을 통해 sdiff(또는 diff -y)의 (억제되지 않은) 출력을 파이프할 수 있습니다.

sdiff -H -t file1 file2 | egrep -B1 -A1 '^.{64}[^ ]' 

-t 및 .{64}는 기본 130자 너비의 중간 지점에 도달하는 데 사용됩니다(출력의 탭을 확장하여 개수를 혼동하지 않도록 함). 더 짧은 너비를 지정할 수 있지만 그에 따라 오프셋을 조정해야 합니다.

sdiff -H -w 80 -t file1 file2 | egrep -B1 -A1 '^.{39}[^ ]' 

관련 정보