对于大文件进行排序非常慢

对于大文件进行排序非常慢

我想对包含单词列表的文件进行排序(删除重复项),大小接近 25GB。我sort在 Ubuntu 终端中使用命令,但输出排序后的文件需要几个小时,命令是:

sort -u input.txt>output.txt

有没有其他有效的替代方法可以达到同样的效果?

答案1

根据我的个人经验:如果你想要独特的线条,请确保你也使用

LC_ALL=C sort -u 

我看到速度提高了 10 倍,但这可能取决于文件中的字符(我经常需要使用它进行翻译,因此我在文件中添加了重音字符)。

答案2

一个非常不可思议的工具是 xsv (https://github.com/BurntSushi/xsv)。对 3173959 行文件运行它

xsv sort input.txt >output.csv

我在 3 秒内得到了输出

相关内容