有人可以帮助我在bash(shell)中使用给定的特定数字范围生成随机浮点数。我发现下面的命令,但是他们还有其他选择吗? (使用awk或$ rand命令。)
jot -p2 0 1
答案 0 :(得分:6)
如果你有GNU coreutils,你可以选择:
seq 0 .01 1 | shuf | head -n1
答案 1 :(得分:2)
要生成3到17之间的1个随机浮点数:
$ awk -v min=3 -v max=17 'BEGIN{srand(); print min+rand()*(max-min+1)}'
16.4038
要生成3到17之间的5个随机浮点数:
$ awk -v min=3 -v max=17 -v num=5 'BEGIN{srand(); for (i=1;i<=num;i++) print min+rand()*(max-min+1)}'
15.1067
4.79238
3.04884
11.3647
15.1132
按摩以适应。
答案 2 :(得分:2)
如果没有任何外部工具,请在3到16.999之间生成随机实数:
a=3
b=17
echo "$((a+RANDOM%(b-a))).$((RANDOM%999))"