同じ構造を持つ 2 つのフォルダーを再帰的に比較するにはどうすればよいですか。
を使用してdiff
、またはコマンド ラインgit diff
から?bash
答え1
2つのファイルを比較するには、diffコマンドを使用します。2つのディレクトリをどのように比較しますか?具体的には、どのファイル/サブディレクトリが共通しているか、1つのディレクトリにのみ存在し、他のディレクトリには存在しないかを知りたいのです。
diff dir1 dir2
ファイルの違いに興味がない場合は
diff -q dir1 dir2 |sort
diff は、ファイル/サブディレクトリ名のアルファベット順に出力を並べます。私は、共通かどうか、最初のディレクトリまたは 2 番目のディレクトリにのみ存在するかどうかでグループ化することを好みます。そのため、上記のコマンドで diff の出力を sort にパイプしました。
デフォルトでは、diff はサブディレクトリに到達せず、そのレベルのファイルとサブディレクトリを比較しないことに注意してください。サブディレクトリを再帰的に下る動作に変更するには、-r を追加します。
diff -qr dir1 dir2 |sort
これが役に立つことを願っています。
答え2
簡単に実行できます:
git diff --no-index FOLDER1 FOLDER2
答え3
次のコマンドを使用します。
diff -r folder1 folder2
答え4
diff -Nur directory1 directory2