首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将零添加到单数变量?

如何将零添加到单数变量?
EN

Stack Overflow用户
提问于 2018-03-27 05:56:45
回答 2查看 0关注 0票数 0

如果变量小于10,尝试在varaible之前添加一个零,并创建该目录。我似乎不能正确地得到零。不断制造02.1.201102.2.2011等等

i=0
for i in {01..31}
do
    if $i > 10
        then
            mkdir $path/02.0$i.2011
        else    
            mkdir $path/02.$i.2011
    fi
done
EN

Stack Overflow用户

发布于 2018-03-27 14:05:46

你可以用:

for i in 0{1..9} {10..31} ; do
    mkdir $path/02.$i.2011
done

尽管仍然不需要启动任何外部进程(除了循环体中的进程)。

这可能没那么重要这里mkdir不是那种你经常做的事情,但是如果在bash

当执行几十万次时,流程创建是很昂贵的,就像我的一些脚本偶尔做的那样:-)

例如,可以看到它的作用:

pax$ for i in 0{7..9} {10..12}; do echo $i; done
07
08
09
10
11
12

而且,如果你有一个最近-足够的版本bash,它将满足要求:

序列表达式采用以下形式{x..y[..incr]},在哪里xy是整数或单个字符,并且incr,一个可选的增量,是一个整数。当提供整数时,表达式扩展到xy,包容。提供的整数可以以0强制每个术语具有相同的宽度。当xy以零开头,shell试图强制所有生成的术语包含相同的数字,必要时为零填充。

所以,在我的Debian 6盒子里bash4.1.5版:

pax$ for i in {07..11} ; do echo $i ; done
07
08
09
10
11
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100003714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档