Filesystems

“單邊”差異

  • January 8, 2010

我有兩個大型目錄樹——想想多年來為代理機構工作的客戶。一個是陳舊過時的;另一個更大並且正在使用中。我想刪除前者,但我想確定後者確實是它的超集(我懷疑前者是舊檔案或後者的早期版本,被不小心複製並且從未刪除)。

在通常的配置中使用 diff 會產生太多的輸出,因為它會告訴我兩個目錄樹之間的所有差異。我想知道的是我可以執行什麼命令來找出較小、較舊的樹上的哪些文件(如果有)在較大、較新的樹上也不可用。

順便說一句,我在 Windows 上執行 cygwin——不確定它是否重要。如果有人建議改用 Windows 實用程序,那也很好。

從字面上看, Beyond Compare對於此類任務來說是無法比擬的。它使比較目錄變得微不足道。它會在一個視圖中向您顯示文件,然後您可以在其中選擇它們並將它們複製到其他地方或複製到較新的樹中。

如果您的數據集與您所懷疑的一樣,它只會在舊的一側顯示一個空視圖,並且您知道您無需做任何事情。

Robocopy是您想要的 Windows 實用程序。

robocopy.exe <your old dir tree> <your new dir tree> /COPYALL /L

您可以添加其他選項,但請確保 /L 存在,否則它實際上會合併兩棵樹,而不僅僅是比較差異。

引用自:https://serverfault.com/questions/100852