seq 命令是 sequence 的縮寫(xiě),用于打印數(shù)字序列。數(shù)字可以是整數(shù)或者實(shí)數(shù)(帶小數(shù)點(diǎn))。
我們今天通過(guò)幾個(gè)例子來(lái)看一下如何使用這個(gè)命令。
使用 seq 命令
在不帶任何選項(xiàng)的情況下,使用 seq 可以生成3中不同格式的數(shù)字序列。
打印數(shù)字序列直到某一上限
最簡(jiǎn)單的例子,我們?yōu)?seq 指定一個(gè)上限,它將打印從 1 開(kāi)始到我們指定的這個(gè)上限之間的數(shù)字序列。命令格式如下:
seq n
以下是一個(gè)例子:
$ seq 4
1
2
3
4
打印兩個(gè)數(shù)字之間的數(shù)字序列(指定上限和下限)
我們指定兩個(gè)數(shù)字,它將打印這兩個(gè)數(shù)字之間的數(shù)字序列(兩個(gè)數(shù)字之間的升序排列)。命令格式如下:
seq n1 n2
如下是一個(gè)簡(jiǎn)單的例子:
$ seq 3 6
3
4
5
6
指定限值與步長(zhǎng)(增量)
我們上述所有粒子中,數(shù)字序列中的增量為1,也可以自定義增量。命令格式如下:
seq n1 inc n2
其中的增量值(步長(zhǎng))可以是整數(shù)也可以是小數(shù)??慈缦吕樱?/p>
$ seq 3 0.5 6
3.0
3.5
4.0
4.5
5.0
5.5
6.0
那么,如果我們指定的步長(zhǎng)為0.7會(huì)怎么樣呢?這種情況下,其數(shù)字序列不會(huì)大于上限值:
$ seq 3 0.7 6
3.0
3.7
4.4
5.1
5.8
打印遞減序列
另一個(gè)用法是可以打印遞減序列,為此,需要指定一個(gè) 負(fù)的增量值 ,看下面的例子:
$ seq 6 -1 4
6
5
4
以上例子都是不帶任何選項(xiàng)的使用方法,下面我們介紹幾種帶選項(xiàng)的用法。
打印相同格式(數(shù)字位數(shù))的序列
選項(xiàng) -w 可以讓打印的數(shù)字序列保持相同的格式(數(shù)字位數(shù))。如下例子:
$ seq -w 9 11
09
10
11
以特定格式打印序列
使用 選項(xiàng) -f 可以指定序列的格式,讓其格式化輸出:
$ seq -f '##%g##' 3 5
##3##
##4##
##5##
上述命令中 %g 表示打印默認(rèn)數(shù)字。另外,%e 表示以指數(shù)方式顯示數(shù)字,%f 表示以浮點(diǎn)數(shù)方式顯示。
以字符串作為分隔符的打印序列
seq 命令打印的序列中的每一個(gè)數(shù)字之間其實(shí)是有分隔符的,默認(rèn)情況下,分隔符為換行符,所以上面的例子總是換行打印下一個(gè)數(shù)字。我們可以使用 -s 選項(xiàng)來(lái)指定分隔符??聪旅娴睦樱?/p>
$ seq -s ':' 4
1:2:3:4
上述命令中用于分隔符上面的引號(hào)不是必須的,但作為一個(gè)好習(xí)慣,也為了讓命令看起來(lái)更好理解,我們一般都使用這個(gè)引號(hào)。
seq 命令的實(shí)際應(yīng)用
上面我們介紹的例子,看起來(lái)像是一些在學(xué)習(xí)某編程語(yǔ)言中的練習(xí),那么,seq 有什么實(shí)際的用途呢?實(shí)際上,我們?cè)诤芏嗲闆r下都有可能會(huì)用到它。
比如,bash 中的 for 循環(huán)就可以使用 seq 命令,這樣就可以不必在循環(huán)條件中手動(dòng)指定序列了??聪旅娴睦樱?/p>
#!/bin/bash
for i in $(seq 4 2 18)
do
echo "Number $i"
done
我們將上述 bash 腳本放到一個(gè)名為 seq.sh 的文件中,運(yùn)行該文件,它將執(zhí)行循環(huán)打印,如下:
$ bash seq.sh
Number 4
Number 6
Number 8
Number 10
Number 12
Number 14
Number 16
Number 18
以上就是關(guān)于 seq 命令的主要用法,大家感興趣可以參考 man 手冊(cè)來(lái)查看它更多詳細(xì)的信息。
審核編輯:劉清
-
字符串
+關(guān)注
關(guān)注
1文章
585瀏覽量
20563 -
bash終端
+關(guān)注
關(guān)注
0文章
7瀏覽量
2003
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論