首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么AWK中的随机数在第一次运行后不发生变化?

为什么AWK中的随机数在第一次运行后不发生变化?
EN

Server Fault用户
提问于 2015-03-11 20:47:42
回答 1查看 5.1K关注 0票数 7

我正在学习AWK,当我第二次使用以下命令时,为什么数字总是相同的呢?

第一次运行:

代码语言:javascript
运行
复制
awk 'BEGIN{for(i=1;i<=10;i++) print int(101*rand())}'
24
29
85
15
59
19
81
17
48
15

第二次运行:

代码语言:javascript
运行
复制
awk 'BEGIN{for(i=1;i<=10;i++) print int(101*rand())}'
24
29
85
15
59
19
81
17
48
15
EN

回答 1

Server Fault用户

回答已采纳

发布于 2015-03-11 21:00:14

来自https://www.gnu.org/software/gawk/manual/html_节点/数字-功能.node

注意:在大多数awk实现(包括gawk )中,每次运行awk时,rand()都会从相同的起始数或种子开始生成数字。因此,程序每次运行时都会生成相同的结果。这些数字是随机的,在一个awk运行,但可预测从运行到运行。这为调试提供了方便,但是如果您希望程序每次使用时执行不同的操作,则必须将种子更改为每次运行中不同的值。要做到这一点,请使用srand()

票数 16
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/674716

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档