2012-07-04 21 views
15

簡略出力のために-qオプションを使用して、異なるファイルの2つのディレクトリを比較するのにdiffを使用したいと思います。しかし、出力は、1つのディレクトリにのみ存在するが、他のディレクトリには存在しない多くのファイルが混在しています。 diff(または別のツールを使用)を強制して、両方のディレクトリに存在するファイルと異なるファイルのみを表示できますか?存在しないファイルを無視してdiffを使って2つのディレクトリを比較するには?

私が使用して、現在のコマンドは、任意のアイデアが高く評価されている

diff -q <dir1> <dir2> 

です。

答えて

15

それは

Only in dir1/blah: blah 

右のようなラインの束を出力しますか?だからgrepでそれらを捨ててください。

LC_ALL=C diff ... | grep -v '^Only in' 

LC_ALL=Cメッセージ「だけで」標準は、任意の翻訳ではなく、印刷されることを確認することです。私が見つけた

-3

最も簡単な方法は、使用することです。

diff -N -q <dir1> <dir2> 
+0

私はそれを試してみましたが、 '-N'オプションは、単に「ファイルが異なる」する「だけで」に変更。実際には「Only in」行は削除されません。 – wisbucky

関連する問題