【问题标题】:Command to convert Hex to decimal in Linux? [duplicate]在Linux中将十六进制转换为十进制的命令? [复制]
【发布时间】:2020-07-14 01:50:50
【问题描述】:

我正在尝试将地图文件中的十六进制值转换为十进制值。比如这里是一个文件的sn-p

.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

是否有单行命令可以将第二列从十六进制转换为十进制?

【问题讨论】:

    标签: linux awk sed


    【解决方案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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-30
      • 2011-07-28
      • 1970-01-01
      • 2018-09-04
      • 2012-06-26
      相关资源
      最近更新 更多