異なるファイルのディレクトリを差分する方法。ただし、行ごとではありません。


16

2つのディレクトリで異なるファイルを再帰的に表示したいと思います。Diffはこれを実行できますが、行ごとの違いを示していますが、これは望ましくありません。これを行うツール、またはDiffでこれを行う方法はありますか(マニュアルページを読みましたが、何も表示されませんでした)?

回答:


29

どう?

diff -rq DIR1 DIR2

または

diff -rqb DIR1 DIR2

-rは再帰的です

-qは簡単なもので、ファイルが異なるかどうかを示します(つまり、行ごとの違いは表示されません)。

-bは空白を無視します


1
-bは空白の変更を無視します。-qまたは--briefを短いオプションに使用します。
ダグハリス

そして、私はこれを支持しました。簡単なオプションを初めて試しました。これは非常に優れた出力です。どのファイルが異なるかだけでなく、1つのディレクトリに存在し、他のディレクトリには存在しないファイルを識別します。
ダグ・ハリス

ダグありがとう。当初、オプションを180度回転させていたと思います。;)修正されました。
ロブ

2

あなたは-qオプションを探しています:

dlamblin$ diff -r a b
diff -r a/a b/a
0a1,2
> 
> 
Only in b: b
dlamblin$ diff -qr a b
Files a/a and b/a differ
Only in b: b

1

これを行う1つの方法は、

diff dir1 dir1| grep "diff "

それでも行ごとの比較を行いますが、各ファイル比較は「diff dir1 / file dir2 / file」で始まるため、「diff」をgreppingすると、それらの行(つまり、異なるファイル)のみが表示されます。


1

emacsユーザーの場合は、ediff-directoriesをご覧ください。ファイルの違いを確認し、違いの理由を確認する必要がある場合は、行ごとの違いにドリルダウンできます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.