Linux中的序列命令

seq 命令是 sequence 的缩写,用于打印数字序列。 数字可以是整数或实数(带小数点)。

让我们看看如何通过一些示例来使用此命令。

使用 seq 命令

您可以使用不带选项的 seq 来生成 3 种不同格式的数字序列。

在最简单的形式中,您为 seq 指定一个上限,它将打印从 1 到上限的序列。

seq n

这是一个 example:

[email protected]:~$ seq 4
1
2
3
4

您可以按升序提供两个数字,它将打印从小数字到大数字的序列。

seq n1 n2

看看这个 example:

[email protected]:~$ seq 3 6
3
4
5
6

到目前为止,序列中的增量为 1。 但您也可以在下限和上限之间定义自定义增量。

seq n1 inc n2

增量值可以是整数或十进制值。

[email protected]:~$ seq 3 0.5 6
3.0
3.5
4.0
4.5
5.0
5.5
6.0

另一个技巧是向后打印一个序列。 为此,您必须指定一个负增量。

[email protected]:~$ seq 6 -1 4
6
5
4

以上所有示例的屏幕截图:

当你输入 0.7 之类的东西时会发生什么? 在这种情况下,不会超过上限。

[email protected]:~$ seq 3 0.7 6
3.0
3.7
4.4
5.1
5.8

到目前为止,您还没有使用 seq 命令的任何选项。 让我们看看并使用它们。

选项 w with seq 命令用于为打印的数字保持相同的宽度。

[email protected]:~$ seq -w 9 11
09
10
11

您可以使用选项将输出行格式化为指定格式 f.

[email protected]:~$ seq -f '##%g##' 3 5
##3##
##4##
##5##

%g 用于默认号码。 %e 以指数格式显示数字和 %f 浮点格式。

到目前为止,序列都是垂直打印的。 这是因为默认情况下,分隔符是换行符。 您可以使用选项更改它 s.

[email protected]:~$ seq -s ':' 4
1:2:3:4

分隔符之前的 ‘ 不是必需的,但它有助于避免意外。

seq 命令的实际使用

您可能想知道这个 seq 命令的实际用途是什么。 可能有很多情况可以使用它。

一个特别的 example 我能想到的是当你使用for循环时 bash. 您可以使用 seq 命令,而不是在循环条件中手动指定序列。

#!/bin/bash

for i in $(seq 4 2 18)
do
	echo "Number $i"
done

当你运行上述 bash 脚本,它将在给定的序列上循环并打印值。

[email protected]:~$ bash seq.sh
Number 4
Number 6
Number 8
Number 10
Number 12
Number 14
Number 16
Number 18

这几乎是您需要了解的有关 seq 命令的所有重要内容。 如果您想了解更多详细信息,可以随时使用它的手册页。