我有一个文本文件,其中包含以下格式的数据
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按严格的升序排列。我想用第7列和第3列中的相应值来偏移第2列和第3列中的值。也就是说第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
我根本不期待负值。为什么会发生这种情况。?
答案 0 :(得分:2)
如果你有GNU awk,那么你需要传递-n
才能理解/解析输入中的非十进制数。否则你只是从0减去。