相关疑难解决方法(0)

在awk或sed中将十六进制转换为十进制

我有一个以逗号分隔的数字列表:

123711184642,02,3583090366663629,639f02012437d4
123715942138,01,3538710295145500,639f02afd6c643
123711616258,02,3548370476972758,639f0200485732
Run Code Online (Sandbox Code Playgroud)

我需要将第3列拆分为3,如下所示:

123711184642,02,3583090366663629,639f02,0124,37d4
123715942138,01,3538710295145500,639f02,afd6,c643
123711616258,02,3548370476972758,639f02,0048,5732
Run Code Online (Sandbox Code Playgroud)

并将最后两列中的数字转换为十进制:

123711184642,02,3583090366663629,639f02,292,14292
123715942138,01,3538710295145500,639f02,45014,50755
123711616258,02,3548370476972758,639f02,72,22322
Run Code Online (Sandbox Code Playgroud)

awk hex sed decimal

19
推荐指数
3
解决办法
4万
查看次数

如何用awk计算十六进制数?

我有一个包含十六进制数字列表的文件,0x12345678每行一个.

我想对它们进行计算.为此,我想到了使用awk.但是如果awk使用该printf函数很容易打印十六进制数字,我还没有找到一种方法来解释十六进制输入而不是文本(或0转换为整数停止x).

awk '{ print $1; }'                     // 0x12345678
awk '{ printf("%x\n", $1)}'             // 0
awk '{ printf("%x\n", $1+1)}'           // 1                 // DarkDust answer
awk '{ printf("%s: %x\n", $1, $1)}'     // 0x12345678: 0
Run Code Online (Sandbox Code Playgroud)

是否可以打印,例如+1值?

awk '{ printf(%x\n", ??????)}'          // 0x12345679
Run Code Online (Sandbox Code Playgroud)

编辑:欢迎使用其他语言的一个衬垫!(如果合理的长度;-))

awk hex

6
推荐指数
3
解决办法
2万
查看次数

标签 统计

awk ×2

hex ×2

decimal ×1

sed ×1