2012-04-10 68 views
21

我在寫一個bash腳本,我想知道兩個目錄樹中的哪些文件是相同的。給出兩個目錄樹如何找到哪些文件是相同的?

這將是使用diff的反義詞。

那麼我自己找到了答案。我曾嘗試過,但我認爲它沒有奏效。

diff -srq dir1/ dir2/ | grep identical 
+4

對於'same'什麼應用?名稱?索引節點?尺寸?內容? Mod Time?所有者?組?權限? – MattH 2012-04-10 11:13:25

+0

將您的發現發佈爲答案 – KurzedMetal 2012-04-10 12:42:37

回答

27

那麼我自己找到了答案。我曾嘗試過,但我認爲它沒有奏效。

diff -srq dir1/ dir2/ | grep identical 

什麼-srq手段?從DIFF --help

-s --report-identical-files Report when two files are the same. 
-r --recursive Recursively compare any subdirectories found. 
-q --brief Output only whether files differ. 
9

您可以使用工具像fdupesrdfind列出重複文件。例如:

fdupes --recurse dir1 dir2 

您可能還需要使用--sameline標誌列出在同一行的所有副本,而不是在文本塊,這取決於你想如何解析的結果。

+0

此技術還可以檢測具有不同名稱的相同文件。不確定diff是否可以調整來做同樣的事情 – Giuseppe 2017-09-10 08:04:48

相關問題