有人可以帮我告诉如何在shell脚本中将十六进制数转换为十进制数吗?例如。我想使用shell脚本将十六进制数bfca3000转换为十进制。我基本上想要两个十六进制数字的差异。我的代码是:
var3=`echo "ibase=16; $var1" | bc` var4=`echo "ibase=16; $var2" | bc` var5=$(($var4-$var3)) # [Line 48]
执行后,我得到的错误:
Line 48: -: Syntax error: operand expected (error token is "-")
要转换hex2dec,这些是在shell或脚本中执行它的许多方法:
原文链接:https://www.f2er.com/bash/391935.html与bash:
$ echo $((16#FF)) 255
与bc:
$ echo "ibase=16; FF" | bc 255
与perl:
$ perl -le 'print hex("FF");' 255
与printf:
$ printf "%d\n" 0xFF 255
与python:
$ python -c 'print(int("FF",16))' 255
与ruby:
$ ruby<<EOF p "FF".to_i(16).to_s(10) EOF "255"
与node.js:
$ nodejs <<< "console.log(parseInt('FF',16))" 255
与rhino:
$ rhino<<EOF print(parseInt('FF',16)) EOF ... 255
与groovy:
$ groovy -e 'println Integer.parseInt("FF",16)' 255