bashスクリプトの文字列を特定のベースで解釈される数値に変換する方法は?

bashスクリプトの文字列を特定のベースで解釈される数値に変換する方法は?

$RECORD_HDR文字列を数値に変換したいです$RECORD_SIZE

echo $RECORD_HDR003Dを提供し、 echo $RECORD_SIZE61を提供する必要があります。

ベストアンサー1

bashマニュアルから:

0で始まる定数は8進数として解釈されます。前に0xまたは0Xがある場合は、16進数を表します。

したがって:

$ RECORD_HDR="003D"
$ RECORD_SIZE=$((0x$RECORD_HDR))
$ echo "$RECORD_SIZE"
61

おすすめ記事