我有一个文本文件,其中包含以下格式的数据
1 0x5212cb03ca115ac0 0x3665fb5f1ac1
2 0x5212cb03ca115cc0 0x3665fb5f1ac7
3 0x5212cb03ca115ea0 0x3665fb5f1acd
4 0x5212cb03ca1160c0 0x3665fb5f1ad3
5 0x5212cb03ca1162a0 0x3665fb5f1ad9
6 0x5212cb03ca1164c0 0x3665fb5f1ade
7 0x5212cb03ca1166a0 0x3665fb5f1ae4
8 0x5212cb03ca1168a0 0x3665fb5f1aea
9 0x5212cb03ca116aa0 0x3665fb5f1af0
10 0x5212cb03ca116ca0 0x3665fb5f1af6
第 1,2 和 3 列按严格的升序排列。我想将第 2 列和第 3 列中的值与它们 ROW 0 中的相应值偏移。也就是说,第 2 列(X)中的每个值都应该是(X - 0x5212cb03ca115ac0) 和第三列相同。我尝试使用 awk 来执行此操作
awk '{print $1 " "$2-0x5212cb03ca115ac0 " "$3-0x3665fb5f1ac1 }' output.txt
我正进入(状态
1 -5914012477826357248 -59811636910785
2 -5914012477826357248 -59811636910785
3 -5914012477826357248 -59811636910785
4 -5914012477826357248 -59811636910785
5 -5914012477826357248 -59811636910785
6 -5914012477826357248 -59811636910785
7 -5914012477826357248 -59811636910785
8 -5914012477826357248 -59811636910785
9 -5914012477826357248 -59811636910785
10 -5914012477826357248 -59811636910785
我不期望这里有负值。为什么会发生这种情况。?