在 bash 脚本中将十进制转换为十六进制
Converting decimal to hexadecimal in bash script
我想将 bash 脚本中的十进制数(循环索引号)转换为十六进制数以供另一个命令使用。类似于:
for ((i=1; i<=100; i++))
do
a=convert-to-decimal($i)
echo "$a"
done
其中 a 应该是具有四位数字和十六进制标识符的十六进制。例如,如果 i 的值是 100,那么 a 的值应该是 0x0064。怎么做?
您可以使用 printf
.
$ printf "0x%04x" 100
0x0064
在您的示例中,您可能会使用 a="$(printf '0x%04x' $i)"
。
这就是您要找的
我在seq 1 100
;
做
printf '%x\n' $i
完成
我想将 bash 脚本中的十进制数(循环索引号)转换为十六进制数以供另一个命令使用。类似于:
for ((i=1; i<=100; i++))
do
a=convert-to-decimal($i)
echo "$a"
done
其中 a 应该是具有四位数字和十六进制标识符的十六进制。例如,如果 i 的值是 100,那么 a 的值应该是 0x0064。怎么做?
您可以使用 printf
.
$ printf "0x%04x" 100
0x0064
在您的示例中,您可能会使用 a="$(printf '0x%04x' $i)"
。
这就是您要找的
我在seq 1 100
;
做
printf '%x\n' $i
完成