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