2 つの Linux ディレクトリ dir1 と dir2 があり、両方にいくつかのファイルがあります。今、dir1と比較して、dir2でファイルが追加され、ファイルが削除されたファイル名のリストが必要です。ファイルは、ファイル内のデータまたはコンテンツに従って比較する必要があります。Linux bash スクリプトは初めてです。私を助けてください。
現在、私は以下のようにこれをやっています:
find dir1 -iname *.c -o -iname *.h -o -iname *.prm | xargs -n1 md5sum > dir1.fingerprint.md5sum
find dir2 -iname *.c -o -iname *.h -o -iname *.prm | xargs -n1 md5sum > dir2.fingerprint.md5sum
cat dir1.fingerprint.md5sum | cut -d" " -f1 | sort -u > dir1.fingerprint
cat dir2.fingerprint.md5sum | cut -d" " -f1 | sort -u > dir2.fingerprint
diff -NrU 2 dir1.fingerprint dir2.fingerprint
以下に示すように、いくつかの変更IDとして結果を取得しています:
--- dir1.fingerprint 2013-03-08 11:57:24.421311354 +0530
+++ dir2.fingerprint 2013-03-08 11:57:34.901311856 +0530
@@ -1,3 +1,3 @@
-43551a78e0f5b0be4aec23fdab881e65
-4639647e4f86eb84987cd01df8245d14
4c9cc7c6332b4105197576f66d1efee7
+9f944e70cb20b275b2e9b4f0ee26141a
+d41d8cd98f00b204e9800998ecf8427e
dir2 に新しく追加または変更されたファイルのファイル名として結果が必要です。これを取得する方法。私を助けてください。