如何随机排序一个大文件

时间:2015-09-21 15:26:50

标签: sorting random large-files

我有一个大的txt文件(以逗号分隔的优惠券列表) 优惠券在订单列表中,我需要将其随机化。 但是我的文件太大(大约16GB),unix命令排序无法管理它 - 内存问题)。 知道如何以其他方式随机化它吗?

1 个答案:

答案 0 :(得分:2)

这是我要做的。对于每个条目生成四个随机位。将0000作为四位的所有条目复制到临时文件f0000中,所有具有0001作为四位的条目都被复制到临时文件f0001等中。

现在随机播放f000并将混洗后的条目写入输出文件fs。随机播放f0001并将随机播放的条目附加到fs等

很容易看到生成的输出文件fs是原始文件的随机播放。

如果四位不够,请转到五位或六位。你明白了。