Re: [問題] shell script for-loop increment

看板Linux作者 (偽ABJ)時間17年前 (2008/10/01 15:43), 編輯推噓1(105)
留言6則, 3人參與, 最新討論串4/4 (看更多)
感謝回答 不過我就是不想用這種方法 因為數列太長時窮舉很困難… ※ 引述《Shenk (閑客)》之銘言: : for是對一個Array作遞迴 : 可以先用seq產生一個你要的所有數字的Array : 例如: : for i in ` seq 0 0.5 1`; do echo $i; done : 產生結果為 : 0.0 : 0.5 : 1.0 : ※ 引述《Reinhard (偽ABJ)》之銘言: : : for loop 中的 increment 如果非整數該怎麼寫比較好呢? : : 我寫過 : : for (( beta = 0; beta <= 1; beta=beta+0.5 )) : : for (( beta = 0; beta <= 1; $beta=$beta+0.5 )) : : for ((beta = 0; beta <= 1; $((beta=beta+0.5)) )) : : 等等等 : : 都不給過… : : shell script 的 arithmetic 真是超麻煩 : : 有沒有人習慣用 python 之類的來代替的?這會是個好主意嗎? -- Team Programming Dragon http://graphics.csie.ntu.edu.tw/~jonathan/tpd/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 157.82.147.209

10/01 16:22, , 1F
窮舉?~~~唔~~~你可以試試把seq那段改成seq 0 0.5 1000
10/01 16:22, 1F

10/01 16:23, , 2F
這樣你就可以得到一個0~100間隔為0.5的數列了...
10/01 16:23, 2F

10/01 16:24, , 3F
範例寫不好...回頭改:P~
10/01 16:24, 3F

10/01 16:24, , 4F
原來如此 懂了 感謝 果然跟 shell script 不很熟 :p
10/01 16:24, 4F

10/01 16:27, , 5F
阿...那個1000,100兩個數字筆誤= =a...理解就好^^a
10/01 16:27, 5F

10/01 20:35, , 6F
可以用bc算floating point
10/01 20:35, 6F
文章代碼(AID): #18uoeFZg (Linux)
文章代碼(AID): #18uoeFZg (Linux)