语法

“seq”命令的一般语法是:

# seq [options] specification
Linux“seq”命令示例

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 命令的输出。

  1. 正如我们在上述所有命令中所注意到的,输出始终是由换行符分隔的数字序列。
    好吧,我们可以将其更改为我们想要的方式。
    使用 seq 命令的“-s”选项,如下所示:
# seq -s "|" 5
1|2|3|4|5
  1. 我们还可以使用“-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
  1. 我们还可以根据需要通过用零填充来使所有数字的宽度相等。
    此选项对 -f 选项无效。
# seq -w 1 10
01
02
03
04
05
06
07
08
09
10

例子

  1. 要简单地打印从 1 开始的数字序列,请使用以下命令:
# seq 4
1
2
3
4

默认情况下,seq 命令从 1 开始打印数字序列,如果没有另外指定。

  1. 还可以为“seq”命令生成的数字序列提供上下限:
# seq 6 9
6
7
8
9
  1. 如果我们需要生成一些其他的等差数列,我们可以使用 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 的值可以是正整数或者负整数,也可以是浮点十进制数。

  1. 让我们看一个负增量的例子,它基本上是向后打印序列。
    例如:
# seq 10 -2 4
10
8
6
4
日期:2020-09-17 00:14:42 来源:oir作者:oir