8.30.2020

Linux的seq指令

今天要記錄的Linux指令筆記是─seq。我只能說這一條指令不但簡單,而且他媽的好用。

seq的功能就是─列印出你想要的數字區間,以及其中的等差級數

例如,最基本的列印出0 ~ 15的數值:
[root@localhost ~]# 
[root@localhost ~]# seq 0 15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@localhost ~]# 
若有3個參數的時後,其中第2個參數會被當成等差級數;若只有2個參數,就只有首尾二數,等差級數的預設值為1。例如:
[root@localhost ~]# 
[root@localhost ~]# seq 0 3 15
0
3
6
9
12
15
[root@localhost ~]# 
加上"-f / --format"參數,則可以讓輸出結果類似C語言當中的printf(); 函式:
[root@localhost ~]# 
[root@localhost ~]# seq -f "%g" 0 3 15
0
3
6
9
12
15
[root@localhost ~]# 
上面的寫法,有加和沒加的結果是一樣的!若無使用"-f / --format"參數,這就是預設的表示法。而接下來的範例則是展現了最少顯示3位的寫法
[root@localhost ~]# 
[root@localhost ~]# seq --format="%3g" 0 3 15
  0
  3
  6
  9
 12
 15
[root@localhost ~]# 
最少顯示4位,且靠左對齊:
[root@localhost ~]# 
[root@localhost ~]# seq --format="%-4g" 0 3 15
0   
3   
6   
9   
12  
15  
[root@localhost ~]# 
上的例子很爛,因為看不出來到底有沒有4位數。那換一個好了:最少顯示4位,不足4位者前面補0
[root@localhost ~]# 
[root@localhost ~]# seq --format="%04g" 0 3 15
0000
0003
0006
0009
0012
0015
[root@localhost ~]# 
參數"-w / --equal-width",設定字寬。此一功能無法和"-f / --format"共用。以下的範例因為後面的數值都是2位數,所以前面的數值雖然只有個位數,它會自動補零 ("-f / --format"比較靈活)。
[root@localhost ~]# 
[root@localhost ~]# seq -w 0 3 15
00
03
06
09
12
15
[root@localhost ~]# 
[root@localhost ~]# seq --equal-width 0 3 15
00
03
06
09
12
15
[root@localhost ~]# 
"-s / --separator"參數則是可以定義每乙個數值之間的分隔符號 (Separator);若無此一參數,預設值是'\r',即回車 (CR, Carrier Return, 0x0D)
[root@localhost ~]# 
[root@localhost ~]# seq -s ";" 0 3 15
0;3;6;9;12;15
[root@localhost ~]# 
[root@localhost ~]# seq --separator=", " 0 3 15
0, 3, 6, 9, 12, 15
[root@localhost ~]# 

沒有留言:

張貼留言