diff命令通常用来比对两个文件的差异,如果有异常,返回不一致的内容,echo $?的返回值也是非零的。
有时候,因为文档的顺序原因,或者行数不同的原因,导致diff的结果中有一些其实是一致的内容,这就需要进行一定的操作,并在diff中添加必要的选项:
1. 排序
给文档进行排序,这样能避免因为顺序不一致导致的异常;
2. 去掉空行
sed -i ‘^$d’ lius.txt
3. 添加必要的选项
diff -y –suppress-common-lines
-y:竖向显示,更加友好
–suppress-common-lines:忽略相同的行
例子:
> cat a.txt
aaa
ccc
ddd
> cat b.txt
aaa
bbb
ddd
> diff a.txt b.txt # 横向显示,结果不明显
2c2
< ccc
---
> bbb
> diff -y a.txt b.txt # -y竖向向对比显示,重复项也列出
aaa aaa
ccc |bbb
ddd ddd
> diff -y --suppress-common-lines a.txt b.txt # --suppress-common-lines过滤重复项
ccc |bbb
转载请注明:liutianfeng.com » diff命令中常见的选项