シェルスクリプトを使用して、数値を16進形式から10進形式に変換する必要があります
例えば :
convert()
{
...
echo x=$decimal
}
結果 :
convert "0x148FA1"
x=1347489
どうやってするの?
さまざまな方法で変換できますが、すべてbash内で、比較的簡単です。
数値を16進数から10進数に変換するには:
$ echo $((0x15a))
346
$ printf '%d\n' 0x15a
346
$ perl -e 'printf ("%d\n", 0x15a)'
346
$ echo 'ibase=16;obase=A;15A' | bc
346
このリンクを確認できます。基本的に以下のコードが役に立ちます。
h2d(){
echo "ibase=16; $@"|bc
}
d2h(){
echo "obase=16; $@"|bc
}
これは、純粋なシェルスクリプトソリューションです。
Pythonインタープリターを利用できる場合は、いつでも次のことができます。
#!/bin/sh
x="0x23"
val=`python -c "print int('$x', 16)"`
echo $val