web-dev-qa-db-ja.com

DIFFユーティリティは2つのファイルに対して機能します。一度に3つ以上のファイルを比較する方法は?

したがって、ユーティリティDiffは、2つのファイルに必要なのと同じように機能しますが、一度に2つ以上のファイルと比較する必要があるプロジェクトがあります。これには、すべてのファイルを並べて配置する必要もあります。私の研究では実際に何も判明していませんが、vimdiffは一度に4つを比較する機能を備えているため、これまでのところ最高のようです。

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

前もって感謝します!

74
Javed Ahamed

Diffuse を使用すると、10個のファイルを並べて表示し、違いを強調表示できます。次のように、コマンドラインですべてのファイルを指定するだけです。

びまん性1.txt 2.txt 3.txt 4.txt 5.txt 6.txt 7.txt 8.txt 9.txt 10.txt

103
Derrick Moser

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

vim -d file1 file2 file3

ただし、通常は4ファイルに制限されています。ただし、Vimのソース内の1行を変更することで変更できます。定数 DB_COUNT は、diffedファイルの最大数を定義し、バージョン6.xではdiff.cの先頭に向かって定義されますおよびそれ以前、またはバージョン7.0以降ではstructs.hの約3分の2を下回っています。

24
Noah Medling

diffには組み込みオプション--from-fileおよび--to-file。1つのオペランドを他のすべてのオペランドと比較します。

   --from-file=FILE1
          Compare FILE1 to all operands.  FILE1 can be a directory.

   --to-file=FILE2
          Compare all operands to FILE2.  FILE2 can be a directory.
3
Peacher Wu

「比較を超えて」チェックアウト: http://www.scootersoftware.com/

ファイルのディレクトリ全体を比較でき、Linux上でも実行されているように見えます。

2
Scott Anderson

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

1
Benjamin Neil