我有一个很大的 txt 文件(优惠券列表用逗号分隔) 优惠券在订单列表中,我需要将其随机化。 但是我的文件太大(大约 16GB),unix 命令 sort 无法管理它——内存问题)。 知道如何以另一种方式将其随机化吗?
最佳答案
这是我会做的。为每个条目生成四个随机位。所有以0000为四位的条目被复制到一个临时文件f0000,所有以0001为四位的条目被复制到一个临时文件f0001,等等。
现在打乱 f000 并将打乱后的条目写入输出文件 fs。打乱 f0001 并将打乱后的条目附加到 fs 等。
很容易看出生成的输出文件 fs 是原始文件的混洗。
如果四位不够,去五位或六位。你明白了。
关于sorting - 如何随机排序一个大文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32699012/