diff
命令是linux操作系统自带的命令行工具,可以用来对比两个文件或者文件夹。
diff有很多option,常用的如下:
w
忽略空白字符的差异
i
忽略大小写的差异
q
只显示有无差异,不显示具体差异
y
并列的方法显示
r
递归对比子文件夹和文件
s
文件内容相同,仍然显示,标记为identical
例1:对比两个verilog文件,并忽略空白字符的差异
diff -w a.v b.v
例2:递归对比两个文件夹,不显示详细差异
diff -rqw rtl1 rtl2
例3:列出两个文件夹中的内容无变化的文件
diff -rqws rtl1 rtl2 | grep "identical"
需要注意的是diff
只支持两个文件的对比,比较三个文件用另一个命令diff3
。
差异主要分三种,删除(d
)、添加(a
)、修改(c
)。左侧文件的内容用<
开头,右侧文件的内容用>
开头。如下图所示。
vimdiff
emacs ediff
python difflib
perl Text::Diff
Kompare(KDE)
meld
beyond compare(收费)