我正在尝试将地图文件中的十六进制值转换为十进制值。例如,这是文件的片段
.bss 0xc g2.comms
.bss 0xc g2.comms
.bss 0xa g2.comms
.bss 0x14 g2.comms
.rodata 0x64 g2.comms
.rodata 0x1ac g2.comms
.rodata 0x270 g2.comms
.rodata 0x18 g2.comms
有没有一行命令可以将第二列从十六进制转换为十进制?
答案 0 :(得分:1)
如果您有GNU awk(gawk):
$ awk -n '{print $2+0}' file
12
12
10
20
100
428
624
24
-n
(或--non-decimal-data
)引起“输入数据中八进制和十六进制值的自动解释”。为了确保awk将第二列视为数字而不是字符串,我们在其中添加零:$2+0
。