我想递归地查看两个目录中不同的文件。Diff 可以做到这一点,但它会逐行显示差异,而这并不是我想要的。有没有可以做到这一点的工具,或者有办法用 Diff 做到这一点(我读了手册页,什么也没看到)?
答案1
关于什么
diff -rq DIR1 DIR2
或者
diff -rqb DIR1 DIR2
-r 是递归的
-q 是简要的,它只会告诉您文件是否不同(即,它不会显示逐行差异)
-b 忽略空格
答案2
您正在寻找的-q
选项:
dlamblin$ diff -r a b
diff -r a/a b/a
0a1,2
>
>
Only in b: b
dlamblin$ diff -qr a b
Files a/a and b/a differ
Only in b: b
答案3
一种方法是
diff dir1 dir1| grep "diff "
它仍将进行逐行比较,但每个文件比较都以“diff dir1/file dir2/file”开头,因此 grepping“diff”将仅显示那些行(即不同的文件)。
答案4
如果您是 emacs 用户,请查看 ediff-directories。您可以查看文件差异,然后深入研究逐行差异(如果您需要了解它们为何不同)。