Chinaunix

标题: awk生成随机数为什么到第二行就完蛋了 [打印本页]

作者: laohuanggua    时间: 2011-03-29 18:36
标题: awk生成随机数为什么到第二行就完蛋了
awk 'BEGIN{FS="[, ]";system("echo $RANDOM")|getline rannum;print rannum}' list2.txt

执行结果是
27783
sh: 0: command not found
作者: ziyunfei    时间: 2011-03-29 18:39
完全错误
作者: laohuanggua    时间: 2011-03-29 18:40
回复 2# ziyunfei

确实是自己瞎写的。但是实在没发现语法错误。。。求指点。谢谢。
作者: ziyunfei    时间: 2011-03-29 18:46
这么获取随机数是不合理的,不停的调用shell,语法应该是这样的
awk 'BEGIN{FS="[, ]"}{getran="echo $RANDOM";getran|getline rannum;close(getran);print rannum}'

如果需要大量的随机数,应该用awk的函数
awk 'BEGIN{FS="[, ]";srand()}{print rand()}'
作者: laohuanggua    时间: 2011-03-29 18:51
回复 4# ziyunfei


谢谢指点。我用yjh777的方法

这里8楼。http://bbs.chinaunix.net/thread-1216467-1-1.html



awk 'BEGIN{FS="[, ]";srand($RANDOM)}{value=rand()*1000000;print "domain.com,"$NF",",value,",200,"$2}' list2.txt


回头在研究下。谢谢~




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2