2016-04-27 19 views
0

diff -x 'pattern' file1 file2オプションを使用してdiffからファイルを除外する方法を知っています。しかし、私は "パターン"(インクルードオプションの種類)と一致しないすべてのファイルを除外しようと考えています。除いた正規表現を使用すると、どちらかのトリックをしませんでした。diffから特定のファイルを除くすべてのファイルを除外する方法

[email protected]:~$ diff -r -x '^?!.*?\bpattern\b)*$' dir1 dir 2 

私はすでに差分マン・ページをチェックしますがので、いくつかのアイデアは素晴らしいことだ便利な、何かを見つけるcouldntの。

+0

実際には、 'diff'ドキュメントの' info diff'を読もうとしましたか? – Dummy00001

+0

はい、私はしました。私はあなたがその質問を誤解していることをお勧めします。ファイルを除外することは問題ではありません。実際には、それは反対です。ファイルを除外するには、異なるパターンに一致するファイルを除外します。私は一致しない正規表現が何らかの二重否定を実行するのに役立つだろうと考えましたが、私は今まで私のために働いていませんでした。 – krouch

+0

おそらく 'dir1'からdiffされるすべてのファイルを含むファイルを生成し、そのファイルを' dir2'を使ってループします。 –

答えて

0

find -inamediff -Xfind dir1 dir2 -iname 'pattern' -exec basename {} \; | diff -r -X - dir1 dir2とすることができます。

関連する問題