给定两个目录树,我怎样才能找出哪些文件不同?
如果我想找到两个目录树之间的差异,我通常只执行:
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配置中设置了该选项),并且它显示使用长分页输出时的所有差异“减”。
上一篇: Given two directory trees, how can I find out which files differ?