Locations of visitors to this page

Tuesday, October 27, 2009

how to generate sequence in bash

how to generate sequence in bash
BASH脚本如何产生序号


1. BASH FOR循环结构(Looping Constructs)
$ for ((a=1;a<=5;a++));do echo $a;done
1
2
3
4
5
这种用法只能在FOR循环中使用


2. BASH大括号扩展机制(Brace Expansion)
$ echo {1..10}
1 2 3 4 5 6 7 8 9 10
$ echo {z..a}
z y x w v u t s r q p o n m l k j i h g f e d c b a
bash第4版增加了功能,可指定步长

开头补零:
$ printf "%02d " {6..12}
06 07 08 09 10 11 12 


3. seq命令
seq命令是属于coreutils包的一个工具, 用于生成一组数字序列号, 如:
$ seq 1 2 10
1
3
5
7
9

开头补零:
$ seq -f %02.0f 6 12
06
07
08
09
10
11
12


4. awk
$ awk 'BEGIN {for (i=1;i<=5;i++) print i}'
1
2
3
4
5


5. jot
BSD系统中提供, 可以产生序列,随机数
jot - UNIX Power Tools, 2nd Edition
Using BSD jot
jot (BSD)
JOT(1)



-fin-

No comments:

Website Analytics

Followers