linux diff对比文件
2022-06-18 19:42 youxin 阅读(413) 评论(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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
2014-06-18 c++ RAII 资源管理就是初始化
2014-06-18 VC6.0 list sort出错
2014-06-18 ifstream文件尾最后一行读两次
2013-06-18 css 定义hr的几种样式
2013-06-18 CI引入外部javascript和css
2012-06-18 汇编:将以0结尾的字符串转换为大写并输出