linux下diff命令

linux上的diff命令可以比较文件、目录,是svn、cvs、git等版本控制工具不可或缺的一部分。

diff [参数] 文件1|目录1 文件2或目录2

1、参数:

可以通过--help查看所有参数,这里举一些常用的:

  • -y, --side-by-side output in two columns
  • -W, --width=NUM output at most NUM (default 130) print columns
  • -c, -C NUM, --context[=NUM] output NUM (default 3) lines of copied context
  • -u, -U NUM, --unified[=NUM] output NUM (default 3) lines of unified context

2、输出:

diff 的normal 显示格式有三种提示:

  • a - add
  • c - change
  • d - delete

此外,在两列显示中还有三种符号表示:

  • “|”表示前后2个文件内容有不同
  • “<”表示后面文件比前面文件少了1行内容
  • “>”表示后面文件比前面文件多了1行内容

3、示例:

先看两个文件:file1、file2

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

1)normal模式输出:diff file1 file2

$ diff file1 file2
3c3
< 2013-03
---
> 2014-03
8c8
< 2013-08
---
> 2013-07
10a11,12
> 2013-11
> 2013-12

说明:上面的“3c3”和“8c8”表示file1和file2文件在3行和第8行内容有所不同;"11,12d10"表示第一个文件比第二个文件多了第11和12行。

2)并排输出:diff file1 file2 -y -W50

$ diff file1 file2 -y -W50
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

说明:“|”表示前后2个文件内容有不同;“<”表示后面文件比前面文件少了1行内容;“>”表示后面文件比前面文件多了1行内容。

3)上下文输出:diff file1 file2 -c

$ diff file1 file2 -c
*** file1	2020-06-24 19:58:16.529093001 +0800
--- file2	2020-06-24 19:58:39.430280167 +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

说明:“+”比较的文件的后者比前着多一行;“-”比较的文件的后者比前着少一行;“!”比较的文件两者有差别的行、

4)统一格式输出:diff file1 file2 -u

 

$ diff file1 file2 -u
--- file1	2020-06-24 19:58:16.529093001 +0800
+++ file2	2020-06-24 19:58:39.430280167 +0800
@@ -1,10 +1,12 @@
 2013-01
 2013-02
-2013-03
+2014-03
 2013-04
 2013-05
 2013-06
 2013-07
-2013-08
+2013-07
 2013-09
 2013-10
+2013-11
+2013-12

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赶路人儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值