bash – 十六进制到十进制在Shell脚本
发布时间:2020-12-15 16:40:18 所属栏目:安全 来源:网络整理
导读:有人可以帮我告诉如何在shell脚本中将十六进制数转换为十进制数吗?例如。我想使用shell脚本将十六进制数bfca3000转换为十进制。我基本上想要两个十六进制数字的差异。我的代码是: var3=`echo "ibase=16; $var1" | bc`var4=`echo "ibase=16; $var2" | bc`va
有人可以帮我告诉如何在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或脚本中执行它的许多方法:
与bash: $ echo $((16#FF)) 255 与bc: $ echo "ibase=16; FF" | bc 255 与perl: $ perl -le 'print hex("FF");' 255 与printf: $ printf "%dn" 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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |