如何遞歸比較具有相同結構的兩個資料夾。
使用diff
或git diff
從命令列bash
?
答案1
要比較兩個文件,我們使用 diff 命令。我們如何比較兩個目錄?具體來說,我們想知道哪些檔案/子目錄是常見的,哪些僅在 1 個目錄中而不是其他用途
diff dir1 dir2
如果您對文件差異不感興趣,請使用
diff -q dir1 dir2 |sort
diff 依檔案/子目錄名稱的字母順序排列其輸出。我更喜歡根據它們是否常見以及它們是否只存在於第一個或第二個目錄中來對它們進行分組。這就是為什麼我在上面的命令中透過 sort 傳輸 diff 的輸出。
請注意,預設情況下 diff 不會進入子目錄來比較該層級的檔案和子目錄。若要將其行為變更為遞歸地進入子目錄,請新增 -r。
diff -qr dir1 dir2 |sort
我希望這有幫助。
答案2
您只需執行以下操作:
git diff --no-index FOLDER1 FOLDER2
答案3
使用以下命令:
diff -r folder1 folder2
答案4
diff -Nur directory1 directory2