1

0.50 から 1.00 (つまり、0.50 0.51 など) の 10 進数値を取得するために、bash シェル スクリプトで for ループを定義するにはどうすればよいですか。次のようなものを見つけました。

for I in $(seq 50 100)
do
    echo $I 10 | awk '{print $1/$2}'    

done

しかし、値を表示するだけなので、変数に割り当てる必要があります。どうすればいいですか?

4

4 に答える 4

0
for I in $(seq 50 100)
do
    J=`echo $I 10 | awk '{print $1/$2}'`
    echo $J
done
于 2013-06-13T14:02:51.023 に答える
0
seq --バージョン
seq (GNU コアユーティリティ) 8.4
...

シーケンス 0.5 .01 1.0
0.50
0.51
0.52
...
1.00
于 2013-06-13T15:16:36.027 に答える
0

OK、これが私がやったことです

i=$(echo "scale=2;0.50" | bc)

echo $i

for a in {50..100};do
echo $i
i=$(echo "scale=2;$i+0.01" | bc)
done

scale = 必要な小数点以下の桁数 ;(実行したい演算) / * + - ...

私のスクリプトの出力は

.50 .50 .51 .52 .53 .54 .55 .56 .57 .58 .59 .60 .61 .62 .63 .64 .65 .66 .67 .68 .69 ... 1.00

于 2013-06-13T14:31:54.960 に答える