複数のバージョンのフォルダを比較するときに「diff -rq」が新しく作成されたファイルを表示しないようにするにはどうすればよいですか?

複数のバージョンのフォルダを比較するときに「diff -rq」が新しく作成されたファイルを表示しないようにするにはどうすればよいですか?

2つのフォルダ(および)diff -rqの違いを確認しています。予想されるので、フォルダに新しいファイルがあるかどうかは知りたくありません。これらのメッセージが表示されないようにするにはどうすればよいですか?ABA

答え1

それでは、実際のキーボードに関するコメントを広げましょう。

必要な操作を実行する唯一の方法は、ファイルを個別に比較することです。次のように組み合わせてこれをfind実行できます。xargs

(cd B && find . -type f -print0) | xargs -0 -IPATH diff -q A/PATH B/PATH

これは、最上位ディレクトリに基づいてBのすべてのファイルのリストを生成し、xargsを使用してdiff -qBのファイルをAの同じパスと比較する一連のコマンドを実行します。

ディレクトリの内容が同じ場合、出力は生成されず、戻りコードは次のようになります0

$ (cd B && find . -type f -print0) | xargs -0 -IPATH diff -q A/PATH B/PATH
$ echo $?
0

違いがある場合は、diff -q戻りコードでコンソールにメッセージを印刷します123

$ (cd B && find . -type f -print0) | xargs -0 -IPATH diff -q A/PATH B/PATH
Files A/./dir2/dir3/file1 and B/./dir2/dir3/file1 differ
$ echo $?
123

関連情報