随机数 RANDOM
Posted skyzy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了随机数 RANDOM相关的知识,希望对你有一定的参考价值。
随机数: bash默认有一个RANDOM,它是产生随机数的一个变量,0~32767 $[$RANDOM%2] 0~1 $[$RANDOM%3] 0~2 $[$RANDOM%6] 0~5 $[$RANDOM%10] 0~9 $[$RANDOM%100] 0~99 $[$RANDOM%51+50] 50~100 $[$RANDOM%900+100] 产生三位随机数 demo1:写一个脚本,产生一个phonenum.txt,保存1000个以139开头电话号码 #!/bin/bash for i in {1..1000} do n1=$[$RANDOM%10] n2=$[$RANDOM%10] n3=$[$RANDOM%10] n4=$[$RANDOM%10] n5=$[$RANDOM%10] n6=$[$RANDOM%10] n7=$[$RANDOM%10] n8=$[$RANDOM%10] echo "139$n1$n2$n3$n4$n5$n6$n7$n8" >> /tmp/phonenum.txt done demo2:从1000个电话号码中,抽取出5个幸运观众 #!/bin/bash file=/tmp/phonenum.txt for i in `seq 5` do line=`cat $file |wc -l` luckline=$[$RANDOM%$line+1] luckwho=cat $file|head -n $luckline|tail -1 echo "幸运观众是:${luckwho:0:3}****${luckwho:7:4}" done 抽法2:如果一次被抽到,那么将该观众从文件中删除 #!/bin/bash file=/tmp/phonenum.txt for i in `seq 5` do line=`cat $file |wc -l` luckline=$[$RANDOM%$line+1] luckwho=cat $file|head -n $luckline|tail -1 sed -i "/$luckwho/d" $file echo "幸运观众是:${luckwho:0:3}****${luckwho:7:4}" done以上是关于随机数 RANDOM的主要内容,如果未能解决你的问题,请参考以下文章