Linux Shell 動態生成 陣列系列 Seq 使用技巧

發表於2015-10-05

如果對linux shell 陣列不是很熟悉的話,請看上一篇文章:linux shell 陣列建立及使用技巧 ,這篇文章主要講是動態生成陣列系列。方法應該很多,我這裡主要以一個求和計算的題目為例進行分析。

題目:請用linux shell 寫一段指令碼,實現從1..1000中所有偶數的和值。

方法一:

通過while 迴圈得到需要的結果:

以上執行結果是:249500,在linux shell 中,”;”作為命令列分隔符。如果大家對於$(()) 運算子號不是很理解,可以檢視:linux shell 實現 四則運算(整數及浮點) 簡單方法 ,如果對於:[[]] [] 符號,可以參考另外一篇文章linux shell 邏輯運算子、邏輯表示式詳解。

 

方法二:

通過 for 迴圈得到結果:

上面語句已經程式碼方面明顯優於方法一,而且效能方面表現也很好。下面比較就可以發現:

 

比較效能:

方法一耗時 是方法二的 6倍!

 

seq 使用:

說明:預設間隔是“空格” 如果想換成其它的可以帶引數:-s

 

應用技巧:

 

  • 生成連續陣列系列:

 

  • 生成連續相同字元:

上面例子:通過加入間隔字元‘#’後,替換掉數字, 生成連續相同字元’#’,這個在以後書寫中還是有不少幫助。

相關文章