在diff命令中禁止“公共子目录:”

时间:2018-09-05 11:13:48

标签: linux diff

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

aDirectory在目录directory1下,而aDirectory在目录directory2下:

diff "directory1/aDirectory" "directory2/aDirectory"

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

Common subdirectories: directory1/aDirectory/dir and directory1/aDirectory/dir

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

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

2 个答案:

答案 0 :(得分:0)

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

尝试

diff -r "directory1/aDirectory" "directory2/aDirectory"

答案 1 :(得分:0)

为了去掉显示“公共子目录”的行,您需要将 diff 命令的结果提供给 grep -v。所以你最终得到:

diff -r <directory1> <directory2> | grep -v "Common subdirectories:"