diff命令——比较文件内容差异

diff命令是英文单词different的简写,其功能是逐行比较两个文件的内容是否相同。

diff命令的语法格式如下:

diff [选项] 文件名1 文件名2

常用选项如下:

选项含义
-a所有文件均按文本文件处理
-b忽略由空格数不同造成的差异
-c比较的同时输出文件上下文内容(默认3行)
-i忽略文件内容大小写的区别
-q或--brief仅判断两个文件是否不同
-r递归处理所有子目录
-t将输出中的tab转换成空格
-y以两栏的格式输出
-w忽略所有空格
-B忽略任何因空行而造成的差异
-N不存在的文件以空文件方式处理
-W 设置每行显示的字符数

实例演示

1、简单比较两个文件是否不同

[root@node1 ~]# diff -q file1 file2
文件 file1 和 file2 不同

2、比较两个文件在哪些行存在不同

# 先给出文件上下文,然后进行比较
[root@node1 ~]# diff -c file1 file2
*** file1	2024-03-17 17:10:19.566693137 +0800
--- file2	2024-03-17 17:05:44.091211845 +0800
***************
*** 1,5 ****
  #This is the first line
  The second line of file
! 
! this is     a new line
  123456
--- 1,4 ----
  #This is the first line
  The second line of file
! this is a new line
  123456

注:不相同的行,前面加!进行标识

3、忽略空行和空格,比较两个文件是否相同

从上图中的输出可以看出,这两个文件仅因存在空行和空格而造成不同。如下所示,若加上选项-b和-B,两个文件就相同了(没有任何输出)。

[root@node1 ~]# diff -bB file1 file2

 4、分两栏输出比较

 有时为便于观察,可以将两个文件内容分成两行进行逐行比较。不相同的行前面会加坚线或其它符号,如下图所示。

[root@node1 ~]# diff -y file1 file2
#This is the first line						#This is the first line
The second line of file						The second line of file
							              |	this is a new line
this is     a new line					  <
123456								        123456

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值