bash – 将零添加到单个数字变量
尝试在可变量之前添加零,如果小于10并创建所述目录。我似乎无法使零正确添加。导致制造02.1.2011,02.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
您可以用以下替换整个批次:
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版本,那么它将会满足您的主要数位要求:
所以,在我的Debian 6框中,使用bash版本4.1.5: pax$ for i in {07..11} ; do echo $i ; done 07 08 09 10 11 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |