很多时候我们需要生成随机数,且会进一步利用这个随机数处理事情。比如,现在要生成一个随机数A,并继续输出另一个文件的第A行,这个Shell程序如下:
#!/bin/bash
function rand(){
min=$1
max=$(($2-$min+1))
num=$(date +%s%N)
echo $(($num%$max+$min))
}
for i in $( seq 1 NUM)
do
rnd=$(rand MIN MAX)
echo $rnd echo $(sed -n $rnd$'p' filename)
done
exit 0
程序中,NUM是生成随机数的个数,MIN和MAX是随机数的范围,显然这里的随机数为整数,filename是当前目录下用到的文件名称。