我正在尝试使用diff命令来递归地查看两个目录之间的差异。
aDirectory
在目录directory1
下,而aDirectory
在目录directory2
下:
diff "directory1/aDirectory" "directory2/aDirectory"
每个都有子目录,这很好。对于每个公共子目录,我得到以下信息:
Common subdirectories: directory1/aDirectory/dir and directory1/aDirectory/dir
因为我有太多同名子目录,所以有关常见子目录的通知很烦人,并且使输出不可读。
我只希望diff命令显示的是这两个目录(及其子目录)之间不同的文件/子目录,但不是相同的文件/子目录。有开关吗?
答案 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:"