shell script for-loop increment - Linux

Table of Contents


感謝回答
不過我就是不想用這種方法
因為數列太長時窮舉很困難…


※ 引述《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/

--

All Comments

Sierra Rose avatarSierra Rose2008-10-05
窮舉?~~~唔~~~你可以試試把seq那段改成seq 0 0.5 1000
Jake avatarJake2008-10-07
這樣你就可以得到一個0~100間隔為0.5的數列了...
Ula avatarUla2008-10-08
範例寫不好...回頭改:P~
Sierra Rose avatarSierra Rose2008-10-13
原來如此 懂了 感謝 果然跟 shell script 不很熟 :p
Rachel avatarRachel2008-10-14
阿...那個1000,100兩個數字筆誤= =a...理解就好^^a
Mary avatarMary2008-10-14
可以用bc算floating point