linux系统中diff命令

1、测试数据

root@ubuntu01:/home/test# ls
log2013.log  log2014.log
root@ubuntu01:/home/test# cat log2013.log  ## 测试数据
2013-01
2013-02
2013-03
2013-04
2013-05
2013-06
2013-07
2013-08
2013-09
2013-10
root@ubuntu01:/home/test# cat log2014.log
2013-01
2013-02
2014-03
2013-04
2013-05
2013-06
2013-07
2013-07
2013-09
2013-10
2013-11
2013-12

 

2、直接使用diff

root@ubuntu01:/home/test# diff log2013.log log2014.log
3c3    ## 表示两个文件的第三行不同
< 2013-03
---
> 2014-03
8c8    ## 表示两个文件的第8行不同
< 2013-08
---
> 2013-07
10a11,12     ## 表示后者比前者多出11和12行
> 2013-11
> 2013-12

 

root@ubuntu01:/home/test# ls
log2013.log  log2014.log
root@ubuntu01:/home/test# diff log2014.log log2013.log
3c3     ## 表示两个文件的第三行不同
< 2014-03
---
> 2013-03
8c8     ## 表示两个文件的第八行不同
< 2013-07
---
> 2013-08
11,12d10       ## 表示前者比后者多出第11和12行
< 2013-11
< 2013-12

 

3、直接显示两个文件是否有差异

root@ubuntu01:/home/test# ls
log2013.log  log2014.log
root@ubuntu01:/home/test# cp log2013.log log2013.log_bak
root@ubuntu01:/home/test# ls
log2013.log  log2013.log_bak  log2014.log
root@ubuntu01:/home/test# diff --brief log2013.log log2014.log      ## --brief选项直接输出文件是否相同
Files log2013.log and log2014.log differ
root@ubuntu01:/home/test# diff --brief log2013.log log2013.log_bak

 

4、以列的形式比较两个文件的差异

root@ubuntu01:/home/test# ls
log2013.log  log2014.log
root@ubuntu01:/home/test# cat log2013.log
2013-01
2013-02
2013-03
2013-04
2013-05
2013-06
2013-07
2013-08
2013-09
2013-10
root@ubuntu01:/home/test# cat log2014.log
2013-01
2013-02
2014-03
2013-04
2013-05
2013-06
2013-07
2013-07
2013-09
2013-10
2013-11
2013-12
root@ubuntu01:/home/test# diff log2013.log log2014.log -y     ## -y参数实现以列的形式比较两个文件的差异
2013-01                                                         2013-01
2013-02                                                         2013-02
2013-03                                                       | 2014-03
2013-04                                                         2013-04
2013-05                                                         2013-05
2013-06                                                         2013-06
2013-07                                                         2013-07
2013-08                                                       | 2013-07
2013-09                                                         2013-09
2013-10                                                         2013-10
                                                              > 2013-11
                                                              > 2013-12

 

5、-c参数了解两个文件具体的不同

root@ubuntu01:/home/test# diff -c log2013.log log2014.log
*** log2013.log 2022-03-26 22:14:48.668954666 +0800
--- log2014.log 2022-03-26 22:14:16.077127961 +0800
***************
*** 1,10 ****
  2013-01
  2013-02
! 2013-03
  2013-04
  2013-05
  2013-06
  2013-07
! 2013-08
  2013-09
  2013-10
--- 1,12 ----
  2013-01
  2013-02
! 2014-03
  2013-04
  2013-05
  2013-06
  2013-07
! 2013-07
  2013-09
  2013-10
+ 2013-11
+ 2013-12

 

posted @ 2022-03-26 22:28  小鲨鱼2018  阅读(89)  评论(0编辑  收藏  举报