如果要查找两个目录树之间的差异,通常只执行:
diff -r dir1/ dir2/
这将准确输出相应文件之间的区别。我只想获取内容不同的相应文件的列表。我以为这只是将命令行选项传递给diff
,但是我在手册页上找不到任何内容。
有什么建议么?
您说过 Linux,所以很幸运(至少它应该可用,不确定何时添加):
diff --brief --recursive dir1/ dir2/ # GNU long options
diff -qr dir1/ dir2/ # common short options
应该做你所需要的。
如果您还想查看两个目录中可能不存在的文件的差异,请执行以下操作:
diff --brief --recursive --new-file dir1/ dir2/ # GNU long options
diff -qrN dir1/ dir2/ # common short options
我使用的命令是:
diff -qr dir1/ dir2/
它与 Mark 的完全相同:) 但是他的回答使我感到困扰,因为它使用了不同类型的标志,并且使我看上去两次。使用 Mark 更详细的标志,它将是:
diff --brief --recursive dir1/ dir2/
对于其他答案完全可以接受的情况,我深表歉意。无法阻止自己... 努力减少学究。
我喜欢使用git diff --no-index dir1/ dir2/
,因为它可以显示颜色差异(如果您在 git config 中设置了该选项),并且因为它在使用的长页输出中显示了所有差异 “减”。