今天是五一劳动节,窗户外边,草长莺飞,惠风和畅,但坐在办公室里值班也需要做点事情,今天就写写seq的用法。
作用:用于以指定增量从首数开始打印数字到尾数,即产生从某个数到另外一个数之间的所有整数,并且可以对整数的格式、宽度、分割符号进行控制
语法:
[1] seq [选项] 尾数
[2] seq [选项] 首数 尾数
[3] seq [选项] 首数 增量 尾数
选项:
-f, --format=格式,默认是%g, %03g' 代表的是三位浮点数
-s, --separator=字符串,使用指定的字符串分割数字(默认使用个" "分割)
-w, --sequal-width 在列前添加0 使得宽度相同,输出是同宽 前面不足的用"0" 补全,即与位数最多的数对齐
下边看一些具体使用的实例:
1.直接产生只带尾数参数的整数,产生5以为的整数
[root@localhost ~]$ seq 5 1 2 3 4 5
2.产生带首数和尾数的整数,产生从2到6的整数
[root@localhost ~]$ seq 2 6 2 3 4 5 6
3.产生带首数、增量和尾数的整数,产生10以内的增量为2的整数
[root@localhost ~]$ seq 1 2 10 1 3 5 7 9
4.产生带首数、增量和尾数的整数,增量为负,产生从5到1增量为-1的整数
[root@localhost ~]$ seq 5 -1 1 5 4 3 2 1
5.产生格式化的整数,直接产生整数,默认以空格填充
[root@localhost ~]$ seq -f "%3g" 98 101 98 99 100 101
6.产生格式化的整数,直接产生整数,指定位数,不够的用0填充
[root@localhost ~]$ seq -f "%03g" 98 101 098 099 100 101
[root@localhost ~]# seq -f %05g 2 7
00002
00003
00004
00005
00006
00007
7.产生指定分隔符的整数,默认是
[root@localhost ~]$ seq -s":" 98 101 98:99:100:101
8.指定分隔符和输出格式
[root@localhost ~]$ seq -s" " -f"str%03g" 9 11 str009 str010 str011
9.指定宽度,输出是同宽 前面不足的用"0" 补全,即与位数最多的数对齐
[root@localhost ~]$ seq -w 98 101 098 099 100 101
10.-f用途广泛,如果一次制做10 个kumufengchun001 , kumufengchun002 .. kumufengchun010 的目录,它便很有用途,我们可以用一个命令就可以了
seq -f 'kumufengchun%03g' 1 10 | xargs mkdir
或者
mkdir $(seq -f 'kumufengchun%03g' 1 10)
11.输出变量
[root@localhost ~]$ for i in $(seq 1 10);do echo $i;done 1 2 3 4 5 6 7 8 9 10
或者
[root@localhost ~]$ for i in `seq 1 10`;do echo $i;done 1 2 3 4 5 6 7 8 9 10
注意:-w选项不能和-f选项一起用,输出是同宽的