【发布时间】:2020-05-06 13:19:40
【问题描述】:
我对 shuf 命令如何处理流输入感到困惑。它是否缓冲数据?或者有没有办法以在线方式做到这一点。
【问题讨论】:
-
好吧,
shuf是开源的。所以只是inspect the source。它有点“智能”地工作——下一行可以被读取,可以被忽略,这一切都取决于。但在一般情况下,是的,必须缓冲整个输入。 -
感谢您的回复,所以如果我理解正确,当我们从输入中选择一些 k 项目时,它会使用水库采样进行采样,因此不需要将其保存在内存中,但如果我们正在改组整个文件,它将整个数据保存在内存中