[关闭]
@breakerthb 2016-07-06T07:24:29.000000Z 字数 844 阅读 1452

diff

Linux Shell


文件准备

1. Normal

$ diff old.txt new.txt

输出说明

1a2 在old第1行之后加入了new的第2行
2a4,5在old第2行之后加入了new的第4,5行

9c10old中第9行修改为new第10行
<表示old文件中的内容
>表示new文件中的内容

6,7d8old第6、第7行原本在new第8行之后

2. 并排输出

$ diff old.txt new.txt -y -W 50

参数说明

输出说明

3. 上下文输出

$ diff old.txt new.txt -c

参数说明

Output NUM (default 3) lines of copied context.

输出说明

4. 统一格式输出

$ diff old.txt new.txt -u

输出说明

'-'表示old.txt
'+'表示new.txt
'-1,10' old.txt的前10行
'+1,10' new.txt的前11行

5. 比较文件夹不同

$ diff path1 path2

PS : 给目录打补丁会发生覆盖

6. 比较文件不同,产生补丁

$ diff -ruN old.txt new.txt > log.patch
	$ cat log.patch

7. 打补丁

$ patch -p0 < log.patch
patching file old.txt

去掉默认路径中的NUM个‘/

8. 恢复

如果恢复打补丁之前的文件

$ patch -RE -p0 < log.patch
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注