本指南將向您展示如何使用seq命令在Linux終端中生成數字列表。
Seq命令的基本語法
想像一下你想在屏幕上顯示數字1到20。
以下seq命令向您顯示瞭如何執行此操作:
seq 1 20
就其本身而言,該命令相當無用。 至少您會希望將數字輸出到文件。
您可以使用cat命令執行此操作,如下所示:
seq 1 20 | cat>編號文件
現在您將有一個名為編號文件的文件,每行打印1到20的數字。
我們迄今為止顯示的用於顯示數字序列的方法可以被縮小為以下內容:
seq 20
默認的起始數字是1,所以只需提供數字20,seq命令自動從1到20計數。
如果您想在兩個不同的數字之間進行計數,您只需要使用長格式,如下所示:
seq 35 45
這將顯示數字35到45到標準輸出。
如何使用Seq命令設置增量
如果您想要顯示1到100之間的所有偶數,您可以使用seq的遞增部分一次步進2個數字,如以下示例所示:
seq 2 2 100
在上面的命令中,第一個數字是起點。
第二個數字是每步增加的數字,例如2 4 6 8 10。
第三個數字是要計算的最終數字。
格式化Seq命令
簡單地將數字發送到顯示器或文件並不是特別有用。
但是,也許你想在3月份的每個日期創建一個文件。
要做到這一點,你可以使用下面的開關:
seq -f“%02g / 03/2016”31
這將顯示類似於以下內容的輸出:
- 2016年1月3日
- 2016年2月3日
- 2016年3月3日
你會注意到%02g。 有三種不同的格式:e,f和g。
作為使用這些不同格式時會發生什麼的示例,請嘗試以下命令:
seq -f“%e”1 0.5 3
seq -f“%f”1 0.5 3
seq -f“%g”1 0.5 3
%e的輸出如下所示:
- 1.000000e + 00
- 1.500000e + 00
- 2.000000e + 00
- 2.500000e + 00
- 3.000000e + 00
%f的輸出如下所示:
- 1.000000
- 1.500000
- 2.000000
- 2.500000
- 3.000000
最後,%g的輸出如下所示:
- 1
- 1.5
- 2
- 2.5
- 3
使用Seq命令作為For循環的一部分
您可以使用seq命令作為for循環的一部分, 以在指定次數內運行相同的代碼。
例如,假設你想要顯示“hello world”這個詞彙十次。
這是你如何做到的:
因為我在$(seq 10)
做
迴聲“你好世界”
DONE
更改序列分隔符
默認情況下,seq命令在新行上顯示每個數字。
這可以更改為您希望使用的任何分隔字符。
例如,如果您希望使用逗號分隔數字,請使用以下語法:
seq -s,10
如果你想使用空格,那麼你需要把它放在引號中:
seq -s“”10
使序列號具有相同的長度
當你把數字輸出到一個文件中時,你可能會感到惱火,因為當你逐步增加數十和數百個數字的長度不同時。
例如:
- 1
- 2
- 3
- 10
- 11
- 99
- 100
- 200
- 1000
- 10000
您可以使所有數字的長度相同,如下所示:
seq -w 10000
當你運行上面的命令時,輸出現在如下所示:
- 00001
- 00002
- 00003
- 00010
- 00011
- 00099
- 00100
- 00200
- 01000
- 10000
以倒序顯示數字
您可以按相反順序顯示序列中的數字。
例如,如果要顯示數字10到1,則可以使用以下語法:
seq 10 -1 1
浮點數字
您也可以使用sequence命令處理浮點數。
例如,如果你想用0.1步顯示0到1之間的每個數字,你可以這樣做:
seq 0 0.1 1
概要
當用作bash腳本的一部分時,seq命令更加有用。