sort
有一个--random-sort
选项,但此选项会使sort
明显变慢:
# time sort --random-sort input >/dev/null
real 0m7.247s
user 0m7.232s
sys 0m0.004s
没有--random-sort
,速度提高了10倍:
(input
以前没有排序)
# time sort input >/dev/null
real 0m0.625s
user 0m0.616s
sys 0m0.008s
为什么这么慢?他们是一种有效地改变文件行的方法吗?
答案 0 :(得分:3)
您可以尝试shuf
。它应该更快,因为它专门用于工作。
答案 1 :(得分:0)
或者您可以尝试使用awk来选择文件中的随机行,例如(我不测试性能):
awk '{a[NR]=$0}
END{
srand();
for(j=0; j<100; j++) {
i=int(rand()*NR+1);
print a[i];
}
}'