1)A 文件:ip_c, state(国家), prov(省份), isp(运营商)
2)B 文件:ip_start_inet、ip_end_inet、state, prov, area(地区)
提取出A文件中的ip_c,去B文件里查area,得到文件C:
ip_c, start_inet , end_inet, b_state, b_prov, b_area
这里注意分批查节省内存,比如每次查5000个c段之类的
合并文件A和文件C,得到文件D(按start_inet递增写入):
ip_c, start_inet , end_inet, state, prov, area, isp
最终的state/prov/area是文件A与文件C里的地址信息PK结果,指定一些附加检查条件即可
遍历文件D,检查相邻两行是否具有完全相同的state, prov, area, isp信息,并且前一行的end_inet + 1 是否等于后一行的 start_inet
- 如果是,则更新start_inet、end_inet,合并成一行,从新行开始继续遍历
- 如果不是,则从后一行开始,继续遍历
start_inet , end_inet, state, prov, area, isp
没有评论:
发表评论