Linuxseq命令详解
seq命令⽤于产⽣从起始值到结束值之间、固定增量的所有浮点数。当起始值与结束值相等,则不管增量为任意⾮零数,都输出起始值。若起始值与结束值不相等,且中间不包含⾄少⼀个增量,则输出为空。当增量为负数时,若起始值⼩于结束值,则输出为空;当增量为正数时,若起始值⼤于结束值,则输出为空。
⼀、命令基本⽤法
1、只指定结束值
seq [选项]...结束值
结束值为⼩于1的负数、零、正⼩数,不会报错,但输出为空;结束值等于1,则输出为1
[test@Test ~]$ seq 10
1
2
3
4
5
6
7
8
9
10
[test@Test ~]$ seq -5
[test@Test ~]$ seq 1
1
[test@Test ~]$ seq 0.2
[test@Test ~]$
2、指定起始值和结束值,默认增量为1。
seq [选项]...起始值结束值
起始值⽐结束值⼤,不会报错,但输出为空。
[test@Test ~]$ seq -11
-1
1
[test@Test ~]$ seq -1-5
[test@Test ~]$
3、指定起始值、增量和结束值
seq [选项]...起始值增量结束值
注意:当增量为零时,seq命令会⽆限执⾏并⽆限输出起始值,应当避免指定增量为零。若使⽤增量为零,执⾏命令后可⽤“ctrl”+
“c”结束命令。
[test@Test ~]$ seq -0.10.050.1
-0.10
-0.05
0.00
0.05
0.10
[test@Test ~]$ seq 0.1-0.05-0.1
0.10
0.05
0.00
-0.05
-0.10
[test@Test ~]$ seq 0.10.050.1
0.10
[test@Test ~]$ seq 0.11000.1
0.1
[test@Test ~]$
⼆、选项和参数
-f,--format=格式使⽤printf 样式的浮点格式
-
s,--separator=字符串使⽤指定字符串分隔数字(默认使⽤:\n)
-w,--equal-width        在列前添加0使得宽度相同
注意:“-f ”不能和“-w”同时使⽤
“-f”的⽤法
-f '%【正负符号】【填充符号】【显⽰位数】g'
【正负符号】:“+”或省略。“+”会在输出的所有零和正数前加上“+”,省略则不显⽰。“+”会占⼀个显⽰位。
[test@Test ~]$ seq -f '%+06g'-0.30.10.3
-000.3
-000.2
-000.1
+00000
+000.1
+000.2
+000.3
[test@Test ~]$ seq -f '%06g'-0.30.10.3
-000.3
-000.2
-000.1
000000
0000.1
0000.2
0000.3
[test@Test ~]$
【填充符号】:“0”或空格。“0”,正负号在最左边;空格,正负号紧挨着数字
[test@Test ~]$ seq -f '% 6g'-0.30.10.3
-0.3
-0.2
-0.1
0.1
0.2
0.3
[test@Test ~]$ seq -f '%+ 6g'-0.30.10.3
-0.3
-
0.2
-0.1
+0
+0.1
+0.2
+0.3
【显⽰位数】:每个输出占多少位。若这⾥设置位负数或⽐实际占位少,则设置⽆效。注意:使⽤“-f”时,当增量⽐较接近零,可能会出现科学计数法
[test@Test ~]$ seq -f '%+010g'-0.10.010.1
-0.1
-0.09
-0.08
-0.07
-0.06
-0.05
-0.04
-0.03
-0.02
-0.01
printf输出格式linux
-6.77626e-21
+0.01
+0.02
+0.03
+0.04
+0.05
+0.06
+0.07
+0.08
+0.09
+0.1
[test@Test ~]$ seq -0.10.010.1
-0.10
-0.09
-0.08
-
0.07
-0.06
-0.05
-0.04
-0.03
-0.02
-0.01
-0.00
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09
0.10
2、“-s”的⽤法
[test@Test ~]$ seq -s '|'-111 -1|0|1
3、“-w”的⽤法
[test@Test ~]$ seq -w -111 -1
00
01