在带有字符的数字上填充0上的bash脚本

时间:2017-11-10 08:45:06

标签: bash shell

我想写一个bash scritpt,它会在前面加上一个十六进制字符的0填充,例如。 32b,ae2等它只适用于整数,但不适用于混合字符和数字。我用了

printf "%04d$a\n" .  a=ae2.   

我想要发生的事情就像这个0ab3,003s,000a,002a padding

1 个答案:

答案 0 :(得分:5)

我会建议:

printf '%04x\n' "0x${a}"
格式规范中的

x代表十六进制整数(小写)。如果参数bash中没有0x前缀,则会抱怨ae2是无效的数字。