Chinaunix

标题: 求教,脚本中如何快捷输出001-100. [打印本页]

作者: hbjpu    时间: 2011-10-09 09:02
标题: 求教,脚本中如何快捷输出001-100.
本帖最后由 hbjpu 于 2011-10-09 09:03 编辑

求教,脚本中如何快捷输出001-100.
我想得到形如
ok001
ok002
ok003
。。。
ok010
ok011
。。。
ok100
这样的一个序列

我使用的脚本如下:
#!/bin/bash
for i in {001..100}
do
echo ok$i
done

但是它只会输出自然数。前面并不带0.
实际输出为
ok1
ok2
ok3
。。。
ok100

请各位大大帮忙。或者使用其他方法实现也可以。
先谢谢了。
作者: springwind426    时间: 2011-10-09 10:44

  1. seq -f 'ok%03.0f' 1 10

复制代码

作者: mpstat    时间: 2011-10-09 10:47
  1. seq -f%03g 100
复制代码

作者: Shell_HAT    时间: 2011-10-09 10:52
  1. #!/bin/bash
  2. for i in {1001..1100}
  3. do
  4.     echo ok${i:1:3}
  5. done
复制代码

作者: cjaizss    时间: 2011-10-09 10:53

  1. seq 1 100|sed -r 's/.*/00&/;s/.*(...)/ok\1/'
复制代码

作者: Shell_HAT    时间: 2011-10-09 10:58
  1. awk 'BEGIN{for(i=1;i<=100;i++)printf "ok%03d\n",i}'
复制代码

作者: Shell_HAT    时间: 2011-10-09 11:00
  1. #!/bin/bash
  2. for i in {1..100}
  3. do
  4.     printf "ok%03d\n" $i
  5. done
复制代码

作者: ziyunfei    时间: 2011-10-09 11:01
echo -e "\n"ok{001..100}
作者: Shell_HAT    时间: 2011-10-09 11:05
回复 8# ziyunfei


什么环境?
#echo -e "\n"ok{01..10}

ok1
ok2
ok3
ok4
ok5
ok6
ok7
ok8
ok9
ok10

作者: ziyunfei    时间: 2011-10-09 11:10
回复  ziyunfei


什么环境?
Shell_HAT 发表于 2011-10-09 11:05



    GNU bash, version 4.1.10(4)-release (i686-pc-cygwin)
作者: rayzhang11    时间: 2011-10-09 11:14
版主,大牛人
作者: yinyuemi    时间: 2011-10-09 11:56
printf "ok%03.f\n" {1..100}




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2