在bash脚本中将十进制转换为十六进制

时间:2016-02-10 16:02:13

标签: linux bash hex decimal

我想将bash脚本中的十进制数(循环索引号)转换为十六进制以供另一个命令使用。类似的东西:

for ((i=1; i<=100; i++))
do

     a=convert-to-decimal($i)
     echo "$a"

done

其中 a 应为十六进制,带有四位数字和十六进制标识符。例如,如果 i 的值 100 ,则 a 的值应为 0x0064 。怎么做?

2 个答案:

答案 0 :(得分:2)

您可以使用printf

$ printf "0x%04x" 100
0x0064

在您的示例中,您可能使用a="$(printf '0x%04x' $i)"

答案 1 :(得分:1)

这就是你要找的东西

for seq 1 100; 做      printf'%x \ n'$ i 完成