2009-07-02 6 views
56

したがって、Diffユーティリティは2つのファイルが必要なように機能しますが、一度に2つ以上のファイルとの比較が必要なプロジェクトがあります。これには、これらすべてのファイルをお互いに並べる必要があります。私の研究は本当に何も出てこなかったので、vimdiffはこれまでのところ4つを一度に比較できる能力をもっています。DIFFユーティリティは2つのファイルに対して機能します。一度に2つ以上のファイルを比較するには?

私の質問:一度に2つ以上のファイルを比較するユーティリティ、またはdiff/vimdiffをハックして複数の比較を行う方法はありますか?私が比較するファイルは比較的短く、遅すぎるべきではありません。

ありがとうございます!それはあなたがファイルのディレクトリ全体を比較することができますhttp://www.scootersoftware.com/

、それはあまりにもLinux上で実行されるように見えます:

答えて

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

デフ:単純に、このようなコマンドライン上のすべてのファイルを指定します-rはファイルのディレクトリ全体を比較しますが、1つのドライバーのファイルと他のディレクトリのファイルを比較するだけです – reinierpost

+1

Beyond Compareは素晴らしいツールです。私は常にマージ競合を解決するために使います。しかし、それは2つのファイルをお互いに、または共通の祖先に対してしか比較できないので、この仕事には適切なツールではありません。 – Superole

17

Vimはすでにこれを行うことができます。

vim -d file1 file2 file3 

しかし、あなたは通常、4つのファイルに限られています。ただし、Vimのソース内の1行を変更することで変更できます。定数DB_COUNTは、diffのedファイルの最大数を定義し、バージョン6.x以前ではdiff.c、バージョン7.0以降ではstructs.hの約3分の2の最上部に定義されています。

+0

vimdiffまたはvim -dは、少なくとも自分のコンピュータで一度に4つのファイルしか実行できません。誰もこれを回避する方法を知っていますか? –

+0

私はその質問に言及しなかった。 Vimの制限を変更する手順を含むように更新されました。 –

+0

やあ、実際にstructs.hやdiff.cにアクセスする方法を知っていますか? WinやLinuxでvimのソースコードを見つけることはできません。 –

2

複数のdiffを1つのファイルに基づいて実行している場合、おそらくforループが各ディレクトリを実行してdiffを実行するスクリプトを作成してみることができます。それは並んではいませんが、少なくともそれらをすばやく比較することはできます。助けてくれることを望みます。

+0

ええ、もし私が例3のファイルを比較していたら、diffがしているので彼らは彼らが一致するところを見るために並べ替える。 –

+0

あなたのスクリプトに役立つかもしれないこのコマンド、diff3と呼ばれ、おそらく3つのファイルを比較するユーティリティが見つかりました。 http://linux.about.com/library/cmd/blcmdl1_diff3.htm Windows版は http://gnuwin32.sourceforge.net/packages/diffutils.htm –