给定两个目录树,我怎样才能找出哪些文件不同?

如果我想找到两个目录树之间的差异,我通常只执行:

diff -r dir1/ dir2/

这正好输出相应文件之间的差异。 我感兴趣的是获取内容不同的相应文件列表。 我认为这只是一个传递命令行选项来diff ,但我在man page上找不到任何东西。

有什么建议么?


你说Linux,所以你运气好(至少它应该是可用的,不知道它何时被添加):

diff --brief -r dir1/ dir2/

应该做你需要的。

如果您还想查看两个目录中可能不存在的文件的差异:

diff --brief -Nr dir1/ dir2/

我使用的命令是:

diff -qr dir1/ dir2/

这跟马克的完全一样:)但是他的回答困扰着我,因为它使用了不同类型的旗帜,而且让我看起来两次。 使用Mark的更详细的标志,它将是:

diff  --brief --recursive dir1/ dir2/

我很抱歉发布其他答案完全可以接受。 无法阻止自己...努力工作,不那么迂腐。


我喜欢使用git diff --no-index dir1/ dir2/ ,因为它可以显示颜色的差异(如果您在git配置中设置了该选项),并且它显示使用长分页输出时的所有差异“减”。

链接地址: http://www.djcxy.com/p/13717.html

上一篇: Given two directory trees, how can I find out which files differ?

下一篇: Can grep show only words that match search pattern?