Linux多线程编程(不限Linux)(zt)
dbus+policykit初级hello world应用

使用diff比较两个文件夹(zt)

Yu posted @ 2011年7月20日 15:17 in Linux学习笔记 , 5295 阅读

 

最近经常的要比较不同版本的源文件,由于文件比较多,比较想通过两个目录的比较直接得到,版本之间的不同之处,开始使用Beyond Compare,感觉很好用,但是不太习惯红色的配色,又比较懒惰的不想更改配色,所以选择了使用diff配合vim的方法来查看文件的不同。
    经过查看diff的帮助说明,得到下面的命令。
    假如我要比较目录A和目录B,使用下面的命令

  1. diff -c -a -b -x *.bak -x *.log A B > AB.diff
  2. gvim AB.diff

    这样就可以方便的查看不同了,目前我的vim的diff配色比较舒适。
    解释一下参数的意义
    -c 采用content的format输出different
    -a 强制使用text的模式
    -b 忽略空白的不同
    -x 过滤掉所比较目录中一些不想比较的文件类型,可以使用其他的pattern
    实际上如果需要过滤的文件类型比较多的时候,使用-x这个选项就有点麻烦了,查看了文档之后,diff提供了更加方便的参数过滤文件。 
    -X excludefile 忽略在excludefile中的文件类型,注意每种文件占一行
    这个参数实际上在使用dos的命令行xcopy的时候也是有用过的。


  1. xcopy /E /C /Y /Exclude:file srcdir destdir

 

 

Avatar_small
Mike Ma 说:
2011年7月21日 02:09

emacs的ediff可以以直观的方式显示出两者的差异。

当然,diff一般是用来做补丁的,最后patch一下回去,相当方便,现在的绝大多数VCS就这么弄的。

Avatar_small
killer_yu 说:
2011年7月28日 11:52

@Mike Ma:

恩恩 我只是一个emacs初级用户。。。。这些技巧要慢慢积累 谢谢了


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter