awk rand函数问题

awk -v rand_str=$RANDOM '
47 BEGIN{m_num=ARGV[2]; s_num=ARGV[3]; srand(rand_str);
48 #蓄水池抽样选前s_num个
49 for(i=1;i<=m_num;i++){A[i]=i};
50 for(i=s_num+1; i<=m_num;i++)
51 {---
52 M=int(rand()*i)+1;
53 if (M<s_num) {
54 tmp=A[M];
55 A[M]=A[i];
56 A[i]=tmp;
57 }
58 }
59 for(i=s_num+1;i<=m_num;i++){delete A[i]}#删除多余的
60 slen=asort(A,SA);
61 #for(i=1;i<=s_num;i++){print SA[i]}
62 INDEX=1;
63 }
64 {
65 #each line
66 if(SA[INDEX]==NR){INDEX++;print $0}
67 }' $mark_file $mark_num $sample_num > $sample_file
68 hits=$(awk '{if ($2==1){print $2}}' $sample_file |wc -l);
69 rm -rf $sample_file
70 return $hits

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值