首页 > 系统相关 >linux 中生成随机数

linux 中生成随机数

时间:2024-02-19 17:35:30浏览次数:25  
标签:test1 RANDOM pc1 生成 awk 随机数 linux echo root

 

001、$RANDOM (0~32767的随机数)

a、

[root@pc1 test1]# echo $RANDOM     ## 直接输出
31128
[root@pc1 test1]# echo $RANDOM
2539
[root@pc1 test1]# echo $RANDOM
23307

 

b、限定范围

[root@pc1 test1]# echo $(($RANDOM % 100))       ##  生成0-99的随机数
26
[root@pc1 test1]# echo $(($RANDOM % 100))
43
[root@pc1 test1]# echo $(($RANDOM % 1000))      ## 生成0-999的随机数
898
[root@pc1 test1]# echo $(($RANDOM % 1000))
310

 

002、使用shuf命令

a、

[root@pc1 test1]# shuf -i 1-100 -n 2
12
76
[root@pc1 test1]# shuf -i 1-100 -n 2
79
23

 

b、

[root@pc1 test1]# shuf -i 1-10000000 -n 2     ## 指定更大的范围; 速度较快
534014
4614802
[root@pc1 test1]# shuf -i 1-10000000 -n 2
1099722
1601413

 

003、使用awk内置函数rand()

[root@pc1 test1]# echo |awk '{print rand()}'                    ## 生成随机数
0.237788
[root@pc1 test1]# echo |awk 'BEGIN{srand()}{print rand()}'      ## 设定种子;种子默认是系统时间;因此命令执行间隔短可能会生成一样的随机数
0.116499
[root@pc1 test1]# echo |awk 'BEGIN{srand()}{print rand()}'
0.893826
[root@pc1 test1]# echo |awk -v seed=$RANDOM 'BEGIN{srand(seed)}{print rand()}'  ## 利用$RANDOM设定种子
0.578206
[root@pc1 test1]# echo |awk -v seed=$RANDOM 'BEGIN{srand(seed)}{print rand()}'
0.419449
[root@pc1 test1]# echo |awk -v seed=$RANDOM 'BEGIN{srand(seed)}{print rand()}'
0.731802

 

004、使用/dev/random和/dev/urandom(用于生成更大的随机数)

[root@pc1 test1]# head -n 10 /dev/random |tr -dc '[:digit:]' |head -c 30 | awk '{print $0}'  
741756911767276997903271522872
[root@pc1 test1]# head -n 10 /dev/urandom |tr -dc '[:digit:]' |head -c 30 | awk '{print $0}'  ## 效率更高
982180777052629384962301968629

 。

 

reference:

01、https://mp.weixin.qq.com/s?__biz=Mzg2Nzk0NDU4NQ==&mid=2247485177&idx=1&sn=020b2e3f32ad54948e5acd686008f97e&chksm=ceb2971ff9c51e09065badcb270df3916e1eb5bc8dfaf2fd77c9be5c240a50b9b6286d5f556e&mpshare=1&scene=23&srcid=0206ftXhcaUn2HrDfNxpSLXS&sharer_shareinfo=b2122fa371d64bb1970124e5be48ebfa&sharer_shareinfo_first=b2122fa371d64bb1970124e5be48ebfa#rd

 

标签:test1,RANDOM,pc1,生成,awk,随机数,linux,echo,root
From: https://www.cnblogs.com/liujiaxin2018/p/18021550

相关文章

  • tomcat日志文件按日期生成
    tomcat日志文件按日期生成有时候想查一下日志看看什么问题,发现tomcat的catalina.out日志很大,很不方便,so安装cronolog互联网服务器,直接安装yuminstallcronolog查询cronolog路径:whichcronolog/usr/sbin/cronolog修改catalina.sh文件注释touch"\(CATALINA_OUT"找到"\)C......
  • linux字符串处理与赋值
    赋值使用$()例如:a=$(echo"helloworld")将命令echo“helloworld”的输出赋值给变量a字符串切片使用cut[选项]...[文件]...-b:以字节为单位进行分割;-c: 以字符为单位进行分割;-d分隔符: 使用指定分隔符代替制表符作为划分符,默认使用制表符;-f:选择指定的段,如果选......
  • linux上使用webdav
    webdav干什么用的?对于我来说,主要是用来同步文件的,n年以前,那时候还啥都不懂,要分享一个文件都是用qq/或者微信发,那时候就一个手机一个电脑,而且文件大部分是分享给认识的人。qq分享完全够用.然后事情越来越复杂,手上的设备越来越多,很多linux服务器没有ui界面,这个时候分享文件变成一......
  • 【linux新手起步02】vi编辑时出现E325:ATTENTION。
    vi编辑时出现E325:ATTENTION一、原因二、解决方法:rm+swap文件路径以及名称一.原因:出现这个问题,是因为由于在编辑该文件的时候异常退出,因为vim在编辑文件时会创建一个交换文件swapfile以保证文件的安全性。点击查看代码E325:ATTENTIONFoundaswapfilebythen......
  • Linux下oracle数据库安装
    1.环境准备:关闭防火墙,禁用开机自启防火墙关闭selinux配置网络IP静态地址添加组groupadddbagroupaddoinstall创建Oracle用户:useradd-d/home/oracle-goinstall-Gdba-moracle设计密码: passwdoracle 创建Oracle目录 mkdir-p/u01/app/oracle/product/11......
  • linux下安装MySql
    linux下安装MySql查看原文点击下载地址,选择版本8.0.26系统为linux-Generic,下载安装包mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz解压安装包#如果有mariadb包,需要提前卸载!!!!!!!!#tar.xz无法直接解压#将tar.xz转换为tarxz-dmysql-8.0.26-linux-glibc2.12-x86_64.tar.x......
  • 探索AI视频生成新纪元:文生视频Sora VS RunwayML、Pika及StableVideo——谁将引领未来
    探索AI视频生成新纪元:文生视频SoraVSRunwayML、Pika及StableVideo——谁将引领未来由于在AI生成视频的时长上成功突破到一分钟,再加上演示视频的高度逼真和高质量,Sora立刻引起了轰动。在Sora横空出世之前,Runway一直被视为AI生成视频的默认选择,尤其是自去年11月推出第二代模型以......
  • Linux运维(1)
    1.远程连接排障步骤(1)检查道路通不通:pingip地址或域名(2)检查防火墙是否开启:selinux(3)检查端口是否开启:telnetip地址端口号2.http端口:80;https端口号:443;远程连接端口号:223.快捷键:(1)光标移到行首:ctrl+a(2)光标移到行尾:ctrl+e(3)把光标所在位置到行首的内......
  • Burp Suite Professional 2023.12.1.5 (macOS, Linux, Windows) - Web 应用安全、测试
    BurpSuiteProfessional2023.12.1.5(macOS,Linux,Windows)-Web应用安全、测试和扫描BurpSuiteProfessional,Test,find,andexploitvulnerabilities.请访问原文链接:BurpSuiteProfessional2024.1.1(macOS,Linux,Windows)-Web应用安全、测试和扫描,查看最新......
  • linux 中 grep命令 $?返回值 0、1、2的意义
     0:找到匹配模式1:未找到匹配模式2:指定的输入文件不对001、[root@pc1test1]#lsa.txt[root@pc1test1]#cata.txt##测试文本aabbcc11aa3333ddbb[root@pc1test1]#grep"aa"a.txt##匹配aaaabbcc11aa33[root@pc1test1]#echo$?......