Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1575155
  • 博文数量: 399
  • 博客积分: 8508
  • 博客等级: 中将
  • 技术积分: 5302
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-14 09:28
个人简介

能力强的人善于解决问题,有智慧的人善于绕过问题。 区别很微妙,小心谨慎做后者。

文章分类

全部博文(399)

文章存档

2018年(3)

2017年(1)

2016年(1)

2015年(69)

2013年(14)

2012年(17)

2011年(12)

2010年(189)

2009年(93)

分类: LINUX

2012-07-02 11:15:02


实现一个函数,有两个变量,第一个变量$1是一个字符串,第二个变量$2是整数;要求该函数,对字符串$1实现循环$2次数。比如第一个参数是“D001”,第二个参数是5,则打印出D001-D005;如果第一个参数是D005,第二个参数是10,则打印D005-D014.反正是从$1的最后一位开始递增。难点应该是循环次数不一定,如果D001-D005种情况好说,但是D005-D014设计到进位了,如果要进多个位可能是不是更麻烦?比如D0001-D0555.
其实上述的问题可以用seq命令来实现!我们可以man seq来看一下seq的指令的用法,简单来说seq可以提供特定格式数据的递增操作,而且可以指定步长:
对于这个问题我们可以这样写:
seq -f "D%03g" 5 $((20+5))
其中-f参数用来指定输出字串的格式%03g表示3位浮点数,3前面加零表示高位补零;后面接的两个数值表示开始和结束的数值大小!经过实验发现-f设定的格式仅仅是开始时字串的格式,随着结束数值位数的增加是可以自动增加的,也就是说假如结束值为10000的话,输出就变成了D10005。
阅读(2149) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~