Linux Shell 動態(tài)生成 數(shù)組系列 Seq 使用技巧

Linux Shell 動態(tài)生成 數(shù)組系列 Seq 使用技巧

如果對linux shell 數(shù)組不是很熟悉的話坷襟,請看上一篇文章:Linux Shell 數(shù)組建立及使用技巧 ,這篇文章主要講是動態(tài)生成數(shù)組系列回官。方法應該很多普气,我這里主要以一個求和計算的題目為例進行分析根暑。

題目:請用linux shell 寫一段腳本,實現(xiàn)從1..1000中所有偶數(shù)的和值帆疟。

方法一:

通過while 循環(huán)得到需要的結果:

start=1;
 
total=0;
 
while [ $start -le 1000 ];do
 
    [[ $(($start%2)) == 0 ]]&&total=$(($total+$start));
 
   start=$(($start+1));
 
done;
 
echo $total;

[chengmo@centos5 ~]$ start=1;total=0;while [ $start -le 1000 ];do [[ $(($start%2)) == 0 ]]&&total=$(($total+$start)); start=$(($start+1));done;echo $total;
250500

以上運行結果是:249500,在linux shell 中轻要,”;”作為命令行分隔符。如果大家對于$(()) 運算符號不是很理解旱爆,可以查看:linux shell 實現(xiàn) 四則運算(整數(shù)及浮點) 簡單方法 舀射,如果對于:[[]] [] 符號,可以參考另外一篇文章linux shell 邏輯運算符怀伦、邏輯表達式詳解脆烟。

方法二:

通過 for 循環(huán)得到結果:

start=0;
 
total=0;
 
for i in $(seq $start 2 1000); do
 
    total=$(($total+$i));
 
done;
 
echo $total;

[chengmo@centos5 ~]$ start=0;total=0;for i in $(seq $start 2 1000); do total=$(($total+$i));done;echo $total;
250500

上面語句已經代碼方面明顯優(yōu)于方法一,而且性能方面表現(xiàn)也很好房待。下面比較就可以發(fā)現(xiàn):

比較性能:

[chengmo@centos5 ~]$ time (start=0;total=0;for i in $(seq $start 2 1000); do total=$(($total+$i));done;echo $total;) 250500
real 0m0.016s
user 0m0.012s
sys 0m0.003s
[chengmo@centos5 ~]$ time (start=1;total=0;while [ $start -le 1000 ];do [[ $(($start%2)) == 0 ]]&&total=$(($total+$start)); start=$(($start+1));done;echo $total;)
250500
real 0m0.073s
user 0m0.069s
sys 0m0.004s

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

seq 使用:

seq [OPTION]... LAST
seq [OPTION]... FIRST LAST
seq [OPTION]... FIRST INCREMENT LAST

[chengmo@centos5 ~]$ seq 1000 ‘起始默認是 1,間隔默認也是1
[chengmo@centos5 ~]$seq 2 1000 ‘間隔默認是1
[chengmo@centos5 ~]$seq 1 3 10 '從1開始桑孩,到10 間隔為3 結果是:1 4 7 10

說明:默認間隔是“空格” 如果想換成其它的可以帶參數(shù):-s

[chengmo@centos5 ~]$seq -s'#' 1 3 10
1#4#7#10

應用技巧:

生成連續(xù)數(shù)組系列:

[chengmo@centos5 ~]$ a=($(seq 1 3 10))
[chengmo@centos5 ~]$ echo ${a[1]}
4
[chengmo@centos5 ~]$ echo ${a[@]}
1 4 7 10

生成連續(xù)相同字符:

[chengmo@centos5 ~]$ seq -s '#' 30 | sed -e 's/[0-9]*//g'
#############################

上面例子:通過加入間隔字符‘0莺祝’后,替換掉數(shù)字洼怔, 生成連續(xù)相同字符’#’署惯,這個在以后書寫中還是有不少幫助。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末镣隶,一起剝皮案震驚了整個濱河市极谊,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌安岂,老刑警劉巖轻猖,帶你破解...
    沈念sama閱讀 221,695評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異域那,居然都是意外死亡咙边,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評論 3 399
  • 文/潘曉璐 我一進店門次员,熙熙樓的掌柜王于貴愁眉苦臉地迎上來败许,“玉大人,你說我怎么就攤上這事淑蔚∈幸螅” “怎么了?”我有些...
    開封第一講書人閱讀 168,130評論 0 360
  • 文/不壞的土叔 我叫張陵醋寝,是天一觀的道長。 經常有香客問我囱桨,道長嗅绰,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,648評論 1 297
  • 正文 為了忘掉前任貌夕,我火速辦了婚禮民镜,結果婚禮上险毁,老公的妹妹穿的比我還像新娘。我一直安慰自己畔况,他們只是感情好,可當我...
    茶點故事閱讀 68,655評論 6 397
  • 文/花漫 我一把揭開白布馋嗜。 她就那樣靜靜地躺著葛菇,像睡著了一般橡羞。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上浓恶,一...
    開封第一講書人閱讀 52,268評論 1 309
  • 那天签夭,我揣著相機與錄音,去河邊找鬼措拇。 笑死煌妈,一個胖子當著我的面吹牛宣羊,可吹牛的內容都是我干的。 我是一名探鬼主播仇冯,決...
    沈念sama閱讀 40,835評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼苛坚,長吁一口氣:“原來是場噩夢啊……” “哼泼舱!你這毒婦竟也來了?” 一聲冷哼從身側響起枷莉,我...
    開封第一講書人閱讀 39,740評論 0 276
  • 序言:老撾萬榮一對情侶失蹤笤妙,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后股毫,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體召衔,經...
    沈念sama閱讀 46,286評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,375評論 3 340
  • 正文 我和宋清朗相戀三年趣席,在試婚紗的時候發(fā)現(xiàn)自己被綠了吩坝。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片哑蔫。...
    茶點故事閱讀 40,505評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡闸迷,死狀恐怖,靈堂內的尸體忽然破棺而出腥沽,到底是詐尸還是另有隱情,我是刑警寧澤师溅,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站墓臭,受9級特大地震影響,放射性物質發(fā)生泄漏酌摇。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,873評論 3 333
  • 文/蒙蒙 一窑多、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧埂息,春花似錦、人聲如沸耿芹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至斯入,卻和暖如春蛀蜜,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背磅摹。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評論 1 272
  • 我被黑心中介騙來泰國打工霎奢, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人帝美。 一個月前我還...
    沈念sama閱讀 48,921評論 3 376
  • 正文 我出身青樓悼潭,卻偏偏與公主長得像庇忌,于是被迫代替她去往敵國和親舰褪。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,515評論 2 359

推薦閱讀更多精彩內容

  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經改了很多 但是錯誤還是無法避免 以后資料會慢慢更新 大...
    數(shù)據(jù)革命閱讀 12,175評論 2 33
  • 基礎命令 主要的命令和快捷鍵 Linux系統(tǒng)命令由三部分組成:cmd + [options]+[operation...
    485b1aca799e閱讀 1,103評論 0 0
  • 緣份 讓我認識你 初次見到你 一起在景區(qū)瘋狂玩了一天刷喜, 你卻要走了 離開這座多年工作的城市 回到老家去 我很幸運,...
    凡高瀟湘花子閱讀 352評論 2 2
  • 扁平化初茶,這個世界越來越扁平化恼布,世界大部分的國家,如以色列折汞,他們信奉的一種叫chutpah的精神:不認為約定俗成的東...
    hey走四方閱讀 405評論 0 2
  • 我覺得微風在吹起月亮 而我在地面遙望 顫抖的花枝 變成一團繁復富麗的黑色輪廓 印在我的衣襟上 如果靠近可以不再仰望...
    歸云閱讀 216評論 0 0