使用awk脚本将十六进制数转换为十进制数

使用awk脚本将十六进制数转换为十进制数,awk,Awk,我可以使用以下方法将存储在变量中的十六进制数转换为shell中的十进制数: $ x=08BA $ echo $x | awk '{print strtonum( "0x" $1 )}' 2234 但当我在文件中编写awk脚本来执行相同的任务时,使用下面的代码给出了错误 program: x=08BA system("echo $x | print strtonum( "0x" $1 )"); 错误消息是: sh:1:语法错误:“”(“意外 sh:1:语法错误:“”(“意外 请提供解决方案打印

我可以使用以下方法将存储在变量中的十六进制数转换为shell中的十进制数:

$ x=08BA
$ echo $x | awk '{print strtonum( "0x" $1 )}'
2234
但当我在文件中编写awk脚本来执行相同的任务时,使用下面的代码给出了错误

program:
x=08BA
system("echo $x | print strtonum( "0x" $1 )");
错误消息是: sh:1:语法错误:“”(“意外 sh:1:语法错误:“”(“意外


请提供解决方案

打印strotnum(“0x”x)?
sh:1
-您正在以shell脚本而不是awk脚本的形式执行脚本。
程序:
-什么是“程序”:意思是?在你的第二段代码中,这是一个
awk
脚本,它调用
system
打开一个shell,使用
pipe
再次调用
awk
?为什么?你只需像在第一个示例中那样在
awk
内部进行转换。在任何情况下,
echo$x
中的
$x
在该c中都是空的祝你好运。