如何随机抽样文件内容?

kal*_*kal 3 random perl sample file

我有一个内容文件

abc
def
high
lmn
...
...
Run Code Online (Sandbox Code Playgroud)

文件中有超过200万行.我想从文件中随机采样行并输出50K行.有关如何解决这个问题的任何想法?我正在考虑Perl及其rand功能(或者一个方便的shell命令将是整洁的).

相关(可能重复)问题:

Sin*_*nür 12

假设您基本上想要输出大约2.5%的所有行,这将会:

print if 0.025 > rand while <$input>;
Run Code Online (Sandbox Code Playgroud)


小智 5

壳牌方式:

sort -R file | head -n 50000
Run Code Online (Sandbox Code Playgroud)