跟进
this问题,我需要从文件(或stdin)中随机获得n行.这将类似于头部或尾部,除了我想从中间的一些.
现在,除了使用链接问题的解决方案循环文件之外,在一次运行中获得正好n行的最佳方法是什么?
作为参考,我试过这个:
#!/usr/bin/perl -w use strict; my $ratio = shift; print $ratio,"\n"; while () { print if ((int rand $ratio) == 1); }
其中$ratio是我想要的线的粗略百分比.例如,如果我想要10行中的1个:
random_select 10 a.list
但是,这并没有给我一个确切的数额:
aaa> foreach i ( 0 1 2 3 4 5 6 7 8 9 ) foreach? random_select 10 a.list | wc -l foreach? end 4739 4865 4739 4889 4934 4809 4712 4842 4814 4817
另一个想法是啜饮输入文件,然后从数组中随机选择n,但如果我有一个非常大的文件,这是一个问题.
有任何想法吗?
编辑:这是this问题的完全重复.
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。