|
|
第 1 帖 | |
|
|
标题: 考考你:如何用shell产生随机数组 如:输入10,那么显示数组的所有元素,但是各个元素的排列是随机的( 3 0 9 7 4 2 1 8 5 6),而不是顺序排列( 0 1 2 3 4 5 6 7 8 9)!
|
|
|
|
|
|
|
|
第 2 帖 | |
|
|
|
|
|
|
|
|
|
|
第 3 帖 | |||
|
|
引用:
![]() 代码:
引用:
|
|||
|
|
|
|||
|
|
第 4 帖 | |
|
|
另外一个思路
r2007@www r2007 $ n=26 r2007@www r2007 $ a=($(for ((i=1;i<=$n;i++));do echo "$i $RANDOM";done|sort -k2n|cut -d" " -f1)) r2007@www r2007 $ echo ${a[*]} 17 4 26 19 2 5 16 21 22 20 11 6 23 8 25 24 12 7 13 14 1 3 18 15 10 9 r2007@www r2007 $ |
|
|
|
|
|
|
|
第 5 帖 | ||
|
|
引用:
这个sort用得妙!,呵呵~~,看来我把问题想复杂啦~,我借用了perl 的rand()函数,结果效果还是不好~ |
||
|
|
|
||
|
|
第 6 帖 | |
|
|
读 /dev/urandom 可以得到无符号的随机数
|
|
|
|
|
|
|
|
第 7 帖 | ||
|
|
引用:
![]() |
||
|
|
|
||
|
|
第 8 帖 | |
|
|
比如要产生十个随机数(0~256):
head -c10 /dev/urandom | od -t u1 -A none |
|
|
|
|
|
|
|
第 9 帖 | ||
|
|
引用:
bouzouki兄![]() 那个-u1怎么解释呀~~,谢谢! 此帖于 03-12-27 00:23 被 KornLee 编辑. |
||
|
|
|
||
|
|
第 10 帖 | ||
|
|
哦,解释在这里
![]() 引用:
I am try think~~~ :ask |
||
|
|
|
||
|
|
第 11 帖 | |
|
|
sorry,没仔细看题目,以为大家在讨论shell下产生随机数,
![]() |
|
|
|
|
|
|
|
第 12 帖 | |
|
|
head -c10 /dev/urandom | od -t u1 -A d -w1|sort -k2|tail -n10|cut -f1 -d' '
就算基本上可以达到要求吧 ![]() |
|
|
|
|
|
|
|
第 13 帖 | ||||
|
|
引用:
引用:
代码:
引用:
|
||||
|
|
|
||||
|
|
第 14 帖 | |||
|
|
引用:
代码:
引用:
|
|||
|
|
|
|||
|
|
第 15 帖 | |
|
|
嘿嘿,原来$RANDOM也可以产生随机数,又学一招
![]() |
|
|
|
|
|