在 Linux 上,您可以找到一些具有不寻常功能的命令。 一个这样的命令是 seq,它根据指定的参数输出一系列数字。
但是你可以用一个向你抛出一堆数字的命令行实用程序做什么呢? 您将在本指南中找到答案。
如上所述,Linux 中的 seq 命令可以快速生成数字字符序列。 用户可以将参数传递给命令以生成不同的数字组合。 为了 example,您可以通过简单地向 seq 传递一个附加参数来获得一个递增的列表。
该命令的实际用途是什么? 虽然 seq 整体上看起来可能不是一个强大的工具,但您可以通过使用其他 Linux 实用程序来实现该命令,从而从该命令中受益。 您也可以使用 seq 在 bash 脚本来揭示其真正的力量。
如何在 Linux 中使用 seq
Seq 只需要几个参数,这使它成为任何人都易于学习的工具。
基本语法
该命令的基本语法是:
seq options numbers
…在哪里 选项 是您可以指定以调用命令的不同方法的标志,并且 数字 是您传递以生成数字序列的参数。
生成数字列表
Seq 参数遵循下面给出的输入格式:
seq last
seq first last
seq first increment last
当您只指定一个数字时,seq 将其解释为列表的上限,并生成一个从 1 到指定数字的序列。
seq 5
上述命令将输出以下内容:
1
2
3
4
5
当 seq 接收到两个数字作为输入时,它将它们解释为序列的下限和上限。 要生成从 4 到 8 的数字列表:
seq 4 8
输出:
4
5
6
7
8
但是当您将三个数字传递给命令时,它会将第二个参数解释为增量数字。 为了 example:
seq 3 2 13
上述命令将输出从 3 到 13 的数字列表,增量为 2。
3
5
7
9
11
13
在数字之间添加分隔符
默认情况下,seq 使用换行符作为列表的分隔符。 这就是为什么列表中的每个数字都在单独的行上的原因。
您可以更改此默认行为并使用自定义分隔符 -s 旗帜。 要使用 时期 (.) 字符作为分隔符:
seq -s . 3 7
输出:
3.4.5.6.7
请记住,有些字符像 波浪号 (~) 必须用引号括起来。 这是因为终端使用 波浪号 表示的字符 /家 目录,如果您不添加引号,这将反映在输出中。
seq -s ~ 3 7
输出:
3/home/4/home/5/home/6/home/7
另一方面,当您用引号括起分隔符时:
seq -s '~' 3 7
输出:
3~4~5~6~7
调整输出格式
您还可以使用 -F 旗帜。 默认情况下,seq 从用户输入中提取格式样式。 为了 example,如果您指定数字 0.1 和 0.5,则默认输出将具有浮点数格式。
seq 0.1 0.5
输出:
0.1
0.2
0.3
0.4
0.5
您可以使用各种转换规范指定自定义输出格式,例如 %a、%e、%f、%g、%A、%E、%F 和 %G。
您可以使用 %F 说明符,如果您希望输出遵循浮点数格式。
seq-f %f 4 7
输出:
4.000000
5.000000
6.000000
7.000000
将精度修改为最多两位小数:
seq -f %0.2f 4 7
输出:
4.00
5.00
6.00
7.00
您还可以通过指定输出模板来完全转换输出。 为了 example以获取以开头的所有 IP 地址的列表 192.168.5.x:
seq -f 192.168.5.%g 1 233
输出: