两个文件内容差异对比,

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了两个文件内容差异对比,相关的知识,希望对你有一定的参考价值。

比较两个单行文件的方法就我知道的而言有4种

  1. 用diff

  2. 用grep

  3. 用comm

  4. 用uniq

[[email protected] ~]# echo "`seq 5`" >file1;cat file1
1
2
3
4
5
[[email protected] ~]# echo "`seq 2 7`" >file2;cat file2
2
3
4
5
6
7

1.用diff -c file1多的是"-"file2多的是"+"按这个就可以过滤出来了

[[email protected] ~]# diff -c file1  file2
*** file1	2017-08-25 15:04:58.180986783 +0800
--- file2	2017-08-25 15:05:07.805865181 +0800
***************
*** 1,5 ****
- 1
  2
  3
  4
  5
--- 1,6 ----
  2
  3
  4
  5
+ 6
+ 7

2.用grep -vwf,下面的输出大家都可以看的很清楚了

[[email protected] ~]# grep -vwf file1 file2
6
7
[[email protected] ~]# grep -vwf file2 file1
1
[[email protected] ~]# grep -wf file2 file1
2
3
4
5

grep -vwf file1 file2 #输出文件1没有而文件2有的
grep -vwf file2 file1 #输出文件2没有而文件1有的
grep -wf file2 file1 输入他们的交集

3.用comm

[[email protected] ~]# comm file1 file2
1
		2
		3
		4
		5
	6
	7
[[email protected] ~]# comm file1 file2 -13
6
7
[[email protected] ~]# comm file1 file2 -12
2
3
4
5
[[email protected] ~]# comm file1 file2 -23
1

comm命令会把文件分为三列,第一列是file1有而file2没有的
第二列是file2有而file1没有的
第三列是file1和file2没有的共有的
分别对应1 2 3
-1是不显示第一列
-2是不显示第二列
-3是不显示第三列

4.用uniq 就只能做交集和差集的比对

[[email protected] ~]# sort file1 file2|uniq
1
2
3
4
5
6
7
[[email protected] ~]# sort file1 file2|uniq -u
1
6
7
[[email protected] ~]# sort file1 file2|uniq -d
2
3
4
5

-u是差集-d是交集


本文出自 “Forand” 博客,请务必保留此出处http://853056088.blog.51cto.com/12966870/1959326

以上是关于两个文件内容差异对比,的主要内容,如果未能解决你的问题,请参考以下文章

两个文件内容差异对比,

linux对比两个文件的差异

代码差异化对比工具

git 对比两个分支差异

文件内容差异对比方法

二业务服务监控