思路:
- 文件进行拆分
- 每个小文件进行排序
- 多个小文件执行多路归并合成一个文件,只需要归并找出最小(最大的值)顺序写入文件即可。获取到的文件即是想要的结果。
文件根据大小进行拆分
以行数拆分 -l参数:
split –l 50 原始文件 拆分后文件名前缀
以大小拆分 -b参数:
split –b 50 原始文件 拆分后文件名前缀
排序
排序的方式有很多,下面是快排的实现
image.png
多路归并合成一个文件
image.png如果需要统计出现的次数,需要加一个权值。
合并完之后,需要从新排序,找出前几的操作。
网友评论