通过几个例子来看一下如何使用seq这个命令

电子说

1.2w人已加入

描述

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

我们今天通过几个例子来看一下如何使用这个命令。

使用 seq 命令

在不带任何选项的情况下,使用 seq 可以生成3中不同格式的数字序列。

打印数字序列直到某一上限

最简单的例子,我们为 seq 指定一个上限,它将打印从 1 开始到我们指定的这个上限之间的数字序列。命令格式如下:

seq n

以下是一个例子:

$ seq 4
1
2
3
4

打印两个数字之间的数字序列(指定上限和下限)

我们指定两个数字,它将打印这两个数字之间的数字序列(两个数字之间的升序排列)。命令格式如下:

seq n1 n2

如下是一个简单的例子:

$ seq 3 6
3
4
5
6

指定限值与步长(增量)

我们上述所有粒子中,数字序列中的增量为1,也可以自定义增量。命令格式如下:

seq n1 inc n2

其中的增量值(步长)可以是整数也可以是小数。看如下例子:

$ seq 3 0.5 6
3.0
3.5
4.0
4.5
5.0
5.5
6.0

那么,如果我们指定的步长为0.7会怎么样呢?这种情况下,其数字序列不会大于上限值:

$ seq 3 0.7 6
3.0
3.7
4.4
5.1
5.8

打印递减序列

另一个用法是可以打印递减序列,为此,需要指定一个 负的增量值 ,看下面的例子:

$ seq 6 -1 4
6
5
4

以上例子都是不带任何选项的使用方法,下面我们介绍几种带选项的用法。

打印相同格式(数字位数)的序列

选项 -w 可以让打印的数字序列保持相同的格式(数字位数)。如下例子:

$ seq -w 9 11
09
10
11

以特定格式打印序列

使用 选项 -f 可以指定序列的格式,让其格式化输出:

$ seq -f '##%g##' 3 5
##3##
##4##
##5##

上述命令中 %g 表示打印默认数字。另外,%e 表示以指数方式显示数字,%f 表示以浮点数方式显示。

以字符串作为分隔符的打印序列

seq 命令打印的序列中的每一个数字之间其实是有分隔符的,默认情况下,分隔符为换行符,所以上面的例子总是换行打印下一个数字。我们可以使用 -s 选项来指定分隔符。看下面的例子:

$ seq -s ':' 4
1:2:3:4

上述命令中用于分隔符上面的引号不是必须的,但作为一个好习惯,也为了让命令看起来更好理解,我们一般都使用这个引号。

seq 命令的实际应用

上面我们介绍的例子,看起来像是一些在学习某编程语言中的练习,那么,seq 有什么实际的用途呢?实际上,我们在很多情况下都有可能会用到它。

比如,bash 中的 for 循环就可以使用 seq 命令,这样就可以不必在循环条件中手动指定序列了。看下面的例子:

#!/bin/bash


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

我们将上述 bash 脚本放到一个名为 seq.sh 的文件中,运行该文件,它将执行循环打印,如下:

$ bash seq.sh
Number 4
Number 6
Number 8
Number 10
Number 12
Number 14
Number 16
Number 18

以上就是关于 seq 命令的主要用法,大家感兴趣可以参考 man 手册来查看它更多详细的信息。

审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分