语法
“seq”命令的一般语法是:
# seq [options] specification
seq 命令打印整数或者实数序列,适用于管道到其他程序。
seq 命令可以在各种其他命令和循环中派上用场,以生成数字序列。
在 Bash 循环中使用 seq
我们还可以使用命令替换将 seq 与 for 循环一起使用,如下所示:
$ for i in $(seq 1 0.5 4) do echo "The number is $i" done
输出:
The number is 1 The number is 1.5 The number is 2 The number is 2.5 The number is 3 The number is 3.5 The number is 4
之路教程 https://onitr oad .com
格式化“seq”命令的输出
我们可以使用命令的各种参数来格式化 seq 命令的输出。
- 正如我们在上述所有命令中所注意到的,输出始终是由换行符分隔的数字序列。
好吧,我们可以将其更改为我们想要的方式。
使用 seq 命令的“-s”选项,如下所示:
# seq -s "|" 5 1|2|3|4|5
- 我们还可以使用“-f”选项格式化输出。
它使用 printf 样式格式来打印每个数字。
我们可以将 E、e、f、G、g 和 % 等覆盖字符与“-f”一起使用,如下所示。
默认值为 %g。
# seq -f '##%g##' 1 5 ##1## ##2## ##3## ##4## ##5##
# seq -f %f 1 5 1.000000 2.000000 3.000000 4.000000 5.000000
- 我们还可以根据需要通过用零填充来使所有数字的宽度相等。
此选项对 -f 选项无效。
# seq -w 1 10 01 02 03 04 05 06 07 08 09 10
例子
- 要简单地打印从 1 开始的数字序列,请使用以下命令:
# seq 4 1 2 3 4
默认情况下,seq 命令从 1 开始打印数字序列,如果没有另外指定。
- 还可以为“seq”命令生成的数字序列提供上下限:
# seq 6 9 6 7 8 9
- 如果我们需要生成一些其他的等差数列,我们可以使用 seq 命令,其语法如下所示:
# seq [start] [incr] [stop]
这会生成数字 start、start + incr、start + incr + incr ...,一直到停止。
让我们通过一个例子来理解这一点:
# seq 1 3 10 1 4 7 10
其中:我们从 1 开始,每次递增 3,直到得到小于或者等于 10 的值。
start、incr 和 stop 的值可以是正整数或者负整数,也可以是浮点十进制数。
- 让我们看一个负增量的例子,它基本上是向后打印序列。
例如:
# seq 10 -2 4 10 8 6 4
日期:2020-09-17 00:14:42 来源:oir作者:oir