小编典典

如何在shell中为for循环添加前导零?

all

我有一个循环的基本数字,它在每次迭代中将变量 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

阅读 97

收藏
2022-07-06

共1个答案

小编典典

使用以下语法:

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

免责声明:前导零仅适用于>=bash-4.

如果您想使用printf,没有什么能阻止您将其结果放入变量中以供进一步使用:

$ foo=$(printf "%02d" 5)
$ echo "${foo}"
05
2022-07-06