我有两个包含源文件的目录,这些目录是我通过文档很少继承的项目。如何比较两个目录以查看差异。感谢。
答案 0 :(得分:54)
试试这个:
diff -Naur dir1/ dir2/
-u
选项使输出为a
更容易阅读。-r
选项递归所有
子目录-N
和-a
选项确实如此
只有你想创造才有必要
补丁文件。答案 1 :(得分:35)
您可以尝试MELD: http://meld.sourceforge.net/ 这是一个很棒的视觉差异工具; - )
答案 2 :(得分:26)
diff -u -r dirA dirB
将显示dirA和dirB中文件之间的统一递归差异
答案 3 :(得分:6)
你可以在shell中使用diff命令。或者安装kdiff3
之类的工具答案 4 :(得分:1)
比较目录的diff命令一直告诉我,当我知道存在差异时,我没有区别。
我没有直接使用diff,而是使用md5sums的排序列表,然后将这些文件与diff进行比较:
find /path1/dir/ -type f -exec md5sum {} + | awk '{print $2 $1}' | sort >! path1.log
find /path2/dir/ -type f -exec md5sum {} + | awk '{print $2 $1}' | sort >! path2.log
gvimdiff path1.log path2.log
如果路径的开头部分引起头痛,则更改它。选择Path1窗口并键入:
:%s|path1|path2|g
这将在第一个文件中用path2替换path1的所有实例,现在你的diff应该只显示差异。