awk rand函數問題

來源:互聯網
上載者:User

   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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.