如何添加前导零为环壳? [英] How to add leading zeros for for-loop in shell?

查看:103
本文介绍了如何添加前导零为环壳?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有回路,它在每次迭代加1的变量num一个基本的数...

 为((NUM = 1; NUM< = 5; NUM ++))

 回声$ NUM
DONE

它输出:

  1
2
3
4

我试图使它产生输出(加$ NUM前前导零):

  01
02
03
04
05

如果没有这样做的:

  0回声$ NUM


解决方案

使用的语法如下:

  $因为我在{01..05};做回声$ I; DONE
01
02
03
04
05

注:前导零将猛砸4.x的工作,但是没有3.X

如果你想使用的printf ,从把它的结果为进一步使用一个变量没有prevents你:

  $富=$(printf的%02D5)
$回声$ {}富
05

I have a basic number for loop which increments the variable num by 1 over each iteration...

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

Which outputs:

1
2
3
4
5

I'm trying to make it produce the output (add leading zero before $num):

01
02
03
04
05

Without doing:

echo 0$num

解决方案

Use the following syntax:

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

Note: The leading zeros will work in Bash 4.x, however not in 3.x.

If you want to use printf, nothing prevents you from putting its result in a variable for further use:

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

这篇关于如何添加前导零为环壳?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆