seq命令用于以指定增量从首数开始打印数字到尾数,即产生从某个数到另外一个数之间的所有整数,并且可以对整数的格式、宽度、分割符号进行控制。
语法:
[1] seq [选项] 尾数
[2] seq [选项] 首数 尾数
[3] seq [选项] 首数 增量 尾数
选项:
-f, --format=格式 使用printf 样式的浮点格式
-s, --separator=字符串 使用指定字符串分隔数字(默认使用:\n)
-w, --equal-width 在列前添加0 使得宽度相同
ex1、语法示例
[zhangqi@localhost shellscript]$ seq 5
1
2
3
4
5
[zhangqi@localhost shellscript]$ seq 1 5
1
2
3
4
5
[zhangqi@localhost shellscript]$ seq 1 2 5
1
3
5
[zhangqi@localhost shellscript]$
上面示例可以看出,seq 首数为空时,默认为1
ex2、f 选项示例
[zhangqi@localhost shellscript]$ seq -f "%2g" 9 11
9
10
11
[zhangqi@localhost shellscript]$ seq -f "%3g" 9 11
9
10
11
[zhangqi@localhost shellscript]$ seq -f "%03g" 9 11
009
010
011
[zhangqi@localhost shellscript]$ seq -f "str%03g" 9 11
str009
str010
str011
[zhangqi@localhost shellscript]$
上面示例可以看出,%后面指定数字的位数,默认是%g,%3g那么数字位数不足部分是空格,数字前面的符号表示的是填充位。
ex3、s 选项示例
[zhangqi@localhost shellscript]$ seq -s":" -f"str%03g" 9 11
str009:str010:str011
[zhangqi@localhost shellscript]$
输出的字符间用“:”间隔
ex4、w选项示例
[zhangqi@localhost shellscript]$ seq -w 9 11
09
10
11
[zhangqi@localhost shellscript]$ seq -f "%2g" -w 9 11
seq: format string may not be specified when printing equal width strings
Try `seq --help' for more information.
[zhangqi@localhost shellscript]$
如上示例可以看出,w 选项输出的数字为等宽,且w 和 f 不可同时使用。