在之前一篇文章《【Linux】配置文件貌似被人动了》中,说到过一种直观的比较两个文件的命令diff -y file1 file2
.今天再说一个也常用的,习惯的,易于接受的参数-u
该缩写来自单词 unified ['ju:nifaid] 统一,一致
即命令diff -u file1 file2
,少啰嗦,看命令示例:
下面,先看要比较的两个文件的内容:
[work]$ cat ./test1.txt
111
222
331
555
[work]$ cat ./test2.txt
111
222
333
444
下面,看比较的结果:
[work]$ diff -u ./test1.txt ./test2.txt
--- ./test1.txt 2017-05-24 11:11:15.899609429 +0800
+++ ./test2.txt 2017-05-24 11:11:33.326970268 +0800
@@ -1,4 +1,4 @@
111
222
-331
-555
+333
+444
如果你常用git 就会发现比较结果和git非常相似。
其中前两行说的是两个文件的基本信息,文件名,创建时间。
---
表示变动前的文件,也就是第一个文件,
+++
表示变动后的文件。
接着第三行,被前后@@
包起来的部分-1,4 +1,4
表示后面内容展示的是,第一个文件的1至4行,及第二个文件的1至4行。
接着从第四行开始剩下的部分,也就是真正的内容比较结果展示部分。每行前面的-
表示删除的行,+
表示新增的行。当然这里的删除新增都是从两个文件的比较(其实就是合并)结果的角度来说的。
说道这里,那被修改的一行怎么表示呢?其实修改就相当于删除+新增。