如何区分不同文件的目录,但不逐行

如何区分不同文件的目录,但不逐行

我想递归地查看两个目录中不同的文件。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。您可以查看文件差异,然后深入研究逐行差异(如果您需要了解它们为何不同)。

相关内容