这个 awk 脚本有什么作用

这个 awk 脚本有什么作用
echo 1 | awk '{ srand(); print int (rand()*67) }'

每次运行它时我都会得到不同的o/p。但是,如果我省略 1,我会得到相同的 o/p ..为什么?

答案1

它打印 1 到 67 之间的随机数。它也可以不带echo:

awk 'BEGIN{srand(); print int(rand()*67+1)}'

请参阅Gnu Awk 用户指南:

srand([x])
将生成随机数的起点或种子设置为值 x。

相关内容