使用diff比较两个文件夹(zt)
Yu
posted @ 2011年7月20日 15:17
in Linux学习笔记
, 5295 阅读
最近经常的要比较不同版本的源文件,由于文件比较多,比较想通过两个目录的比较直接得到,版本之间的不同之处,开始使用Beyond Compare,感觉很好用,但是不太习惯红色的配色,又比较懒惰的不想更改配色,所以选择了使用diff配合vim的方法来查看文件的不同。
经过查看diff的帮助说明,得到下面的命令。
假如我要比较目录A和目录B,使用下面的命令
-
diff -c -a -b -x *.bak -x *.log A B > AB.diff
- gvim AB.diff
这样就可以方便的查看不同了,目前我的vim的diff配色比较舒适。
解释一下参数的意义
-c 采用content的format输出different
-a 强制使用text的模式
-b 忽略空白的不同
-x 过滤掉所比较目录中一些不想比较的文件类型,可以使用其他的pattern
实际上如果需要过滤的文件类型比较多的时候,使用-x这个选项就有点麻烦了,查看了文档之后,diff提供了更加方便的参数过滤文件。
-X excludefile 忽略在excludefile中的文件类型,注意每种文件占一行
这个参数实际上在使用dos的命令行xcopy的时候也是有用过的。
- xcopy /E /C /Y /Exclude:file srcdir destdir
2011年7月21日 02:09
emacs的ediff可以以直观的方式显示出两者的差异。
当然,diff一般是用来做补丁的,最后patch一下回去,相当方便,现在的绝大多数VCS就这么弄的。
2011年7月28日 11:52
@Mike Ma:
恩恩 我只是一个emacs初级用户。。。。这些技巧要慢慢积累 谢谢了