给定两个目录树如何查找哪些文件相同?

faz*_*oso 34 linux bash diff

我正在编写一个bash脚本,我想知道两个目录树中哪些文件是相同的.

这与使用diff相反.

好吧,我自己找到了答案.我之前尝试过,但我认为它不起作用.

diff -srq dir1/ dir2/ | grep identical
Run Code Online (Sandbox Code Playgroud)

faz*_*oso 47

好吧,我自己找到了答案.我之前尝试过,但我认为它不起作用.

diff -srq dir1/ dir2/ | grep identical
Run Code Online (Sandbox Code Playgroud)

什么-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.
Run Code Online (Sandbox Code Playgroud)

  • `当两个文件相同时报告`如何仅考虑文件名? (2认同)

Tod*_*obs 17

您可以使用fdupesrdfind等实用程序列出重复文件.例如:

fdupes --recurse dir1 dir2
Run Code Online (Sandbox Code Playgroud)

您可能还希望使用该--sameline标志列出同一行上的所有重复项,而不是文本块中的重复项,具体取决于您要如何解析结果.

  • `fdupes` 还将报告*在一棵树*内的重复文件。似乎没有选项可以禁用它。 (3认同)