代码改变世界

linux diff对比文件

2022-06-18 19:42  youxin  阅读(405)  评论(0编辑  收藏  举报

diff 是 Unix 系统的一个命令,用来比较两个文本文件的差异。一般用法:

$diff file1 file2

具体参数可以查询man diff

diff 输出格式

diff 有三种输出格式

  • 正常格式(normal diff)

  • 上下文格式(context diff)

  • 合并格式(unified diff)

git diff 输出的格式是最后一种。

合并格式详解

 

 

第一行表示结果为 git 格式的 diff。

第二行表示两个版本的 git 哈希值,最后的六位数字是对象的模式(普通文件,644 权限)。

”—“表示变动前的文件,”+++” 表示变动后的文件。

变动的位置用两个 @ 作为起首和结束。

前面的”-4,6” 分成三个部分:减号表示第一个文件,” 4” 表示第 4 行,” 6” 表示连续 6 行。合在一起,就表示下面是第一个文件从第 4 行开始的连续 6 行。同样的,”+4,7” 表示变动后,成为第二个文件从第 4 行开始的连续 7 行。

它将两个文件的上下文,合并显示在一起,所以叫做” 合并格式”。每一行最前面的标志位,空表示无变动,减号表示第一个文件删除的行,加号表示第二个文件新增的行。

 

常用参数
" -b " 忽略空格
" -B " 忽略空行
" -i " 忽略大小写
" -c " 显示文件所有内容并标示不同
" -r " 对比目录
" -u " 合并输出
输出结果解释
diff 比较结果的含义,diff 描述两个文件不同的方式是告诉我们怎么样改变第一个文件之后与第二个文件匹配。
a = add
c = change
d = delete
带 < 的部分表示左边文件内容
中间的 - - - 则是两个文件内容的分隔符号。
带 > 的部分表示右边文件内容
————————————————
原文链接:https://blog.csdn.net/qq_47714288/article/details/121612424