2009-07-02 2 views
56

그래서 Diff 유틸리티는 2 파일을 원하는 것처럼 작동하지만 한 번에 2 개 이상의 파일 (한 번에 최대 10 개)과 비교해야하는 프로젝트가 있습니다. 이렇게하려면 모든 파일을 나란히 놓아야합니다. 내 연구가 실제로 아무 것도 나타나지 않았다. vimdiff는 지금까지 4 명을 비교할 수있는 능력으로는 지금까지 최고인 것처럼 보인다.DIFF 유틸리티는 2 개의 파일에 대해 작동합니다. 한 번에 두 개 이상의 파일을 비교하는 방법?

내 질문 : 한 번에 2 개 이상의 파일을 비교하는 유틸리티가 있습니까? 아니면 여러 비교를 할 수 있도록 diff/vimdiff를 해킹 할 수있는 방법이 있습니까? 비교할 파일은 비교적 짧기 때문에 너무 느려서는 안됩니다.

미리 감사드립니다. 그것은 당신이 파일의 전체 디렉토리를 비교할 수 있습니다 http://www.scootersoftware.com/

, 그리고 너무 리눅스에서 실행되는 것 같습니다 :

답변

88

10 개의 파일을 나란히 표시하고 차이점을 강조 표시하는 것은 Diffuse으로 쉽게 수행 할 수 있습니다.

확산 1.TXT 2.txt 3.txt 4.txt 5.txt 6.txt 7.txt 8.txt 9.txt 10.txt

+1

와우이 굉장합니다! 늦게까지 답변 해 주셔서 감사합니다. 아직 도움이 필요합니다. –

+0

이런 종류의 비교라는 것은 무엇입니까? – leeand00

+3

환상적인 도구; 방금 문제를 해결하는 데 도움이되었습니다.나는 그것이 이전 답변이라는 것을 알고 있지만 감사합니다! – SeanKilleen

2

체크 아웃 "저쪽에 비교".

+1

DIFF : 간단하게이 같은 명령 줄에서 모든 파일을 지정합니다 -r은 또한 파일의 전체 디렉토리를 비교하지만 한 디렉토리의 파일과 다른 디렉토리의 파일을 비교합니다. – reinierpost

+1

Beyond Compare는 훌륭한 도구이며 병합 충돌을 해결하기 위해 항상 사용합니다. 그러나이 파일은 두 파일을 서로 또는 공통 조상과 비교할 수 있기 때문에이 작업에 적합한 도구는 아닙니다. – Superole

17

빔 이미이 작업을 수행 할 수 있습니다

vim -d file1 file2 file3 

하지만 당신은 일반적으로 4 개 파일로 제한하고 있습니다. 그러나 Vim의 소스에서 한 줄을 수정하여 변경할 수 있습니다. 상수 DB_COUNTdiff 에드 파일의 최대 수를 정의하며 버전 6.x 이하에서는 diff.c의 맨 위로, 버전 7.0 이상에서는 structs.h의 약 2/3에 대해 정의됩니다.

+0

vimdiff 또는 vim -d는 적어도 내 컴퓨터에서는 한 번에 4 개의 파일 만 처리 할 수 ​​있습니다. 아무도 이것을 무시하는 방법을 알고 있습니까? –

+0

나는 그 질문에 언급하지 않았다. Vim의 제한 변경에 대한 지침이 포함되도록 업데이트되었습니다. –

+0

이봐, 실제로 structs.h 또는 diff.c에가는 방법을 알고 있니? Win 또는 Linux에서 vim 소스 코드를 찾을 수 없습니다. –

2

하나의 파일을 기반으로 여러 diff를 실행하는 경우 for 루프가있는 스크립트를 작성하여 각 디렉토리를 실행하고 diff를 실행할 수 있습니다. 나란히 서 있지는 않지만 적어도 빠르게 비교할 수는 있습니다. 도움이 된 희망.

+0

그래,하지만 만약 내가 예제 3 파일을 비교하고 있었다면, diff가하기 때문에 다른 2 개의 파일 각각에 대해 모든 diff를 원할 것이다. 그것들은 그들이 일치하는 곳을보기 위해 재정렬합니다. –

+0

당신의 스크립트에 도움이 될 수있는이 명령을 발견했습니다.이 스크립트는 diff3과 3 개의 파일을 비교하는 유틸리티라고합니다. http://linux.about.com/library/cmd/blcmdl1_diff3.htm 윈도우 버전은 여기에서 찾을 수 있습니다 http://gnuwin32.sourceforge.net/packages/diffutils.htm –

관련 문제