我想删除大约34GB的文件中的重复行。然后将其加载到mysql数据库。使用约束将其加载到db需要花费大量时间。我尝试排序文件然后使用awk命令,花了很多时间和一些内存问题。还有另一种方法可以解决这个问题吗?
答案 0 :(得分:1)
从这个答案here:
UNIX Sort命令的算法细节说Unix Sort使用外部R-Way合并排序算法。链接进入更多细节,但实质上它将输入分成较小的部分(适合内存),然后在结尾处将每个部分合并在一起。
只需使用以下内容即可删除重复项。应该是内存高效的,并且不需要MySQL就可以为你工作:
sort large_filename.txt | uniq > unique_filename.txt