两个文件内容差异对比,

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

  1. 用diff

  2. 用grep

  3. 用comm

  4. 用uniq

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@hxy ~] # echo "`seq 5`" >file1;cat file1
1
2
3
4
5
[root@hxy ~] # echo "`seq 2 7`" >file2;cat file2
2
3
4
5
6
7

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@hxy ~] # 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,下面的输出大家都可以看的很清楚了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@hxy ~] # grep -vwf file1 file2
6
7
[root@hxy ~] # grep -vwf file2 file1
1
[root@hxy ~] # 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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
[root@hxy ~] # comm file1 file2
1
         2
         3
         4
         5
     6
     7
[root@hxy ~] # comm file1 file2 -13
6
7
[root@hxy ~] # comm file1 file2 -12
2
3
4
5
[root@hxy ~] # comm file1 file2 -23
1
 
comm 命令会把文件分为三列,第一列是file1有而file2没有的
第二列是file2有而file1没有的
第三列是file1和file2没有的共有的
分别对应1 2 3
-1是不显示第一列
-2是不显示第二列
-3是不显示第三列

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@hxy ~]# sort file1 file2|uniq
1
2
3
4
5
6
7
[root@hxy ~]# sort file1 file2|uniq -u
1
6
7
[root@hxy ~]# sort file1 file2|uniq -d
2
3
4
5
 
-u是差集-d是交集

本文转自  Forande  51CTO博客,原文链接:http://blog.51cto.com/853056088/1959326
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值