1. 创建2个文件 1.txt 和 2.txt 并在1.txt基础上修改成为2.txt

book@100ask:~/patch$ ls
1.txt 2.txt
book@100ask:~/patch$ cat 1.txt
111
222
333
book@100ask:~/patch$ cat 2.txt
111aaa
22
333
444
book@100ask:~/patch$

2.使用 diff -uprN 创建1.txt的补丁文件(1.patch)

book@100ask:~/patch$ diff -uprN 1.txt 2.txt > 1.patch
book@100ask:~/patch$ ls
1.patch 1.txt 2.txt

解析diff 命令参数

命令 : diff
-p  //在每一更改处显示c函数,方便程序员定位代码
-u  //按补丁统一格式输出
-r  //递归子目录
-N  //对于不存在的文件或者是空白文件和新增文件,在补丁文件里面包含新的文件内

分析补丁文件(1.patch)

"---" 开头表示原始文件
"+++" 开头表示新文件
"@@" 开头表示补丁文件的范围并以"@@"结尾,-开头表示原始文件的行号范围,+开头表示新文件的行号范围
"+" 开头表示原始文件不存在,在新文件添加
"-" 开头表示原始文件存在,但在新文件删除了
其他的为原始文件和新文件都有的内容

book@100ask:~/patch$ ls
1.patch 1.txt 2.txt
book@100ask:~/patch$ cat 1.patch
--- 1.txt 2021-05-23 08:09:25.887150622 -0400 //原始文件
+++ 2.txt 2021-05-23 08:13:10.707561369 -0400 //新文件
@@ -1,3 +1,4 @@
-111        //删除内容
-222        //删除内容
+111aaa      //新增内容
+22         //新增内容
333       //不变内容
+444 //新增内容
book@100as
 
 

最新文章

  1. Linux常用命令[转]
  2. 并发-Java中的Copy-On-Write容器
  3. dtw算法
  4. Android之下拉刷新,上啦加载的实现(一)
  5. IOS 使用block完成网络请求的自定义类BlockURLConnection
  6. Servlet Listener
  7. 从unity3d官网下载教程
  8. SQL Server 负载均衡集群方案之Moebius
  9. Bzoj 1598: [Usaco2008 Mar]牛跑步 dijkstra,堆,K短路,A*
  10. boost操作xml 5分钟官方教程
  11. Android屏幕适配问题详解
  12. UVA - 1631 Locker 记忆化搜索
  13. mongodb备份还原脚本
  14. Tomcat在Window控制台下启动时乱码的两种解决办法
  15. 20175105 2018-2019-2 《Java程序设计》第八周学习总结
  16. LigerUI子父窗口之间传参问题
  17. 不常见的javascript调试技巧
  18. Codeforces 820B - Mister B and Angle in Polygon
  19. ORACLE常用数值函数、转换函数、字符串函数介绍
  20. 洛谷P4608 [FJOI2016]所有公共子序列问题 【序列自动机 + dp + 高精】

热门文章

  1. .Net5下WebRequest、WebClient、HttpClient是否还存在使用争议?
  2. 盘点 Django 展示可视化图表的多种方式(建议收藏)
  3. (二)Struts2配置文件
  4. PAT B1030/A1085 完美数列
  5. 一键生成dotnet5项目解决方案
  6. Seata搭建与分布式事务入门
  7. GO-02-helloworld
  8. 并发编程之ThreadLocal
  9. JMeter循环读取CSV文件实现接口批量测试
  10. Day14_80_反射机制+IO+Propreties动态创建对象