seq 命令是 sequence 的缩写,用于打印数字序列,数字可以是整数或实数(带小数点)。
让我们看看如何通过一些示例来使用此命令。
可以使用不带选项的 seq 来生成 3 种不同格式的数字序列。
在最简单的形式中,为 seq 指定一个上限,它将打印从 1 到上限的序列。
seq n
这是一个例子:
wljslmz@lhb:~$ seq 4
1
2
3
4
可以按升序提供两个数字,它将打印从小数字到大数字的序列。
seq n1 n2
看看这个例子:
wljslmz@lhb:~$ seq 3 6
3
4
5
6
到目前为止,序列中的增量为 1,但也可以在下限和上限之间定义自定义增量。
seq n1 inc n2
增量值可以是整数或十进制值。
wljslmz@lhb:~$ seq 3 0.5 6
3.0
3.5
4.0
4.5
5.0
5.5
6.0
另一个技巧是向后打印一个序列,为此,必须指定一个负增量。
wljslmz@lhb:~$ seq 6 -1 4
6
5
4
以上所有示例的屏幕截图:
当你输入 0.7 之类的东西时会发生什么?在这种情况下,不会超过上限。
wljslmz@lhb:~$ seq 3 0.7 6
3.0
3.7
4.4
5.1
5.8
到目前为止,还没有使用 seq 命令的任何选项,让我们看看并使用它们。
seq 命令的选项w用于保持打印数字的宽度相同。
wljslmz@lhb:~$ seq -w 9 11
09
10
11
可以使用选项将输出行格式化为指定格式f。
wljslmz@lhb:~$ seq -f '##%g##' 3 5
##3##
##4##
##5##
%g用于默认号码。%e以指数格式和%f浮点格式显示数字。
到目前为止,序列都是垂直打印的,这是因为默认情况下,分隔符是换行符,可以使用 option 更改它s。
wljslmz@lhb:~$ seq -s ':' 4
1:2:3:4
分隔符之前的 ' 不是必需的,但它有助于避免意外。
可能想知道这个 seq 命令的实际用途是什么。可能有很多情况可以使用它。
我能想到的一个特定示例是当在 bash 中使用 for 循环时,可以使用 seq 命令,而不是在循环条件中手动指定序列。
#!/bin/bash
for i in $(seq 4 2 18)
do
echo "Number $i"
done
当运行上述 bash 脚本时,它将循环给定序列并打印值。
wljslmz@lhb:~$ bash seq.sh
Number 4
Number 6
Number 8
Number 10
Number 12
Number 14
Number 16
Number 18
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有