我有一个看似简单的问题,我找不到答案。
说,我有两个文件:
A
B
C
D
和
A
X
Y
D
当我diff -U 1000
在这些上运行时,我得到:
A
-B
-C
+X
+Y
D
相反,我想得到:
A
-B
+X
-C
+Y
D
了解我想要完成的工作的大图:我有一个smartctl
在我的硬盘驱动器上运行的预定脚本,保留历史数据并比较它们。因此,更改的行实际上是对早期文件的相应行的单独替换:
- 3 Spin_Up_Time 0x0027 173 168 021 Pre-fail Always - 2350
- 4 Start_Stop_Count 0x0032 096 096 000 Old_age Always - 4445
+ 3 Spin_Up_Time 0x0027 172 168 021 Pre-fail Always - 2358
+ 4 Start_Stop_Count 0x0032 096 096 000 Old_age Always - 4461
我已经完成了一个两步过程:传递到
git diff
,然后使用 AWK 脚本对其进行后处理:第一步返回以下形式的结果:
第二个脚本执行此操作:
mysmartdiff.awk
脚本如下: