抑制 diff 命令中的“公共子目录:”

joh*_*ack 11 linux diff

我正在尝试使用 diff 命令递归地查看两个目录之间的差异。

aDirectory目录下directory1aDirectory目录下directory2

diff "directory1/aDirectory" "directory2/aDirectory"
Run Code Online (Sandbox Code Playgroud)

每个都有子目录,这很好。对于每个公共子目录,我得到:

Common subdirectories: directory1/aDirectory/dir and directory1/aDirectory/dir
Run Code Online (Sandbox Code Playgroud)

因为我有很多同名的子目录,所以有关公共子目录的通知很烦人,并且使输出不可读。

我希望 diff 命令显示的是这两个目录(及其子目录)之间不同的文件/子目录,而不是相同的文件/子目录。有一个开关吗?

小智 13

您需要提供-r执行递归差异的选项。如果没有它,diff则告诉您“directory1/aDirectory”和“directory2/aDirectory”都有一个名为“dir”的子目录。但是,它不会查看“dir”内部,因为您没有要求递归差异。

尝试

diff -r "directory1/aDirectory" "directory2/aDirectory"
Run Code Online (Sandbox Code Playgroud)