shell中生成指定长度的字符串和随机数
2015-04-05 23:10
411 查看
实际工作中,需要用shell生成指定范围的字符串,以便生成相应的随机数,插入数据库,符合自己的需要。以下为想要生成的几种方式:
1)使用系统变量$RANDOM获得32767以内的随机数
shell中有一个环境变量为$RANDOM,实际的取值范围为:0-32767
所以如果想要生成1000以内的随机数就可以用RANDOM取余相应的值即可:
2)获得指定长度的随机数,并且这个随机数大于32767
2.1把RANDOM生成的不同长度的两个随机数组合在一起,例如第一个随机数控制长度为5,第二个长度控制在4,这样生成九位的随机数:
2.2将RANDOM的值放大生成自己想要的随机数:
假设随机数的范围是(200000,300000),shell脚本如下:
2.3直接借助于date +%s%N 生成较大的随机数,例如生成1000000以内的随机数:
3)生成指定长度,例如长度为10的字符串
以上生成的字符串中既有字母也有数字,根据实际情况使用即可
4)生成既有数字又有字母的字符串
#使用date 生成随机字符串
1)使用系统变量$RANDOM获得32767以内的随机数
shell中有一个环境变量为$RANDOM,实际的取值范围为:0-32767
echo $RANDOM 15514
所以如果想要生成1000以内的随机数就可以用RANDOM取余相应的值即可:
echo $(($RANDOM%1000))如果想要获得一个范围内的随机数,可以先把相应的数据做个转换,然后在使用RANDOM。例如想要获得(3000-5000)范围内的随机数,将整个范围值减去最小值,得到(0-2000),使用RANDOM,结果如下:
echo $(($RANDOM%2000+3000))
2)获得指定长度的随机数,并且这个随机数大于32767
2.1把RANDOM生成的不同长度的两个随机数组合在一起,例如第一个随机数控制长度为5,第二个长度控制在4,这样生成九位的随机数:
num=`echo $(($RANDOM+10000))$(($RANDOM%1000+1000))`;echo $num中间的参数可以随机调整成自己想要的值
2.2将RANDOM的值放大生成自己想要的随机数:
假设随机数的范围是(200000,300000),shell脚本如下:
#!/bin/bash function rand(){ min=$1 max=$(($2-$min+1)) num=$(($RANDOM+10000000)) echo $(($num%$max+$min)) } num=$(rand 200000 300000) echo $num exit 0
2.3直接借助于date +%s%N 生成较大的随机数,例如生成1000000以内的随机数:
rand=`date +%s%N`;echo $(($rand%1000000))
3)生成指定长度,例如长度为10的字符串
#!/bin/bash function randStr { j=0; for i in {a..z};do array[$j]=$i;j=$(($j+1));done for i in {A..Z};do array[$j]=$i;j=$(($j+1));done for ((i=0;i<10;i++));do strs="$strs${array[$(($RANDOM%$j))]}"; done; echo $strs } echo `randStr`
以上生成的字符串中既有字母也有数字,根据实际情况使用即可
4)生成既有数字又有字母的字符串
#使用date 生成随机字符串
date +%s%N | md5sum | head -c 10#使用 /dev/urandom 生成随机字符串
cat /dev/urandom | head -n 10 | md5sum | head -c 10
相关文章推荐
- shell 生成指定范围随机数与随机字符串
- shell 生成指定范围随机数与随机字符串
- shell 生成指定范围随机数与随机字符串 .
- shell 生成指定范围随机数与随机字符串
- shell 生成指定范围随机数与随机字符串
- java生成指定的随机数并且包含大写、小写和数字,满足以上条件的返回字符串
- delphi中按指定字符重复生成指定长度字符串
- 根据给定的字符生成指定长度的字符串
- SQL存储过程生成一个指定长度的随机字符串
- 生成指定长度的随机字符串
- java生成指定长度的随机字符串
- Java生成固定长度的字符串,长度不足自动填充指定字符
- 比较方便的生成指定长度数字和字母混合的随机数
- Java生成指定长度并且包含大小写字母数字字符串示例
- 随机生成指定长度字符串
- PHP生成指定长度随机数最简洁的方法
- C#生成指定长度指定字符的随机数
- Java指定长度随机生成的字符串,且这个字符串必须包含大小写字母和数字
- java生成指定长度的随机字符串
- php生成随机字符串 指定长度 可以固定数字 字母 混合