bash – 如何为shell中的for循环添加前导零? [重复]

这个问题已经有一个答案在这里:            >            How to zero pad a sequence of integers in bash so that all have the same width?                                    8个答案                            我有一个循环的基本数字,在每次迭代增加变量num 1

for (( num=1; num<=5; num++ ))
do
 echo $num
done

其中输出:

1
2
3
4
5

我想让它产生输出(在$ num前添加前导零):

01
02
03
04
05

不做:

echo 0$num
使用以下语法:

$ for i in {01..05}; do echo "$i"; done
01
02
03
04
05

如果你想使用printf,没有什么能阻止你把它的结果放在变量中供进一步使用:

$ foo=$(printf "%02d" 5)
$ echo "${foo}"
05

免责声明:这只适用于> = bash-4。

http://stackoverflow.com/questions/18460123/how-to-add-leading-zeros-for-for-loop-in-shell

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:bash – 如何为shell中的for循环添加前导零? [重复]