头疼的文件处理(大文件分割)

好久没写文章了,最近一直在研究大文件处理,因为手头有些200g大文件 全是json数据 打开一次要20分钟 内存蹭蹭的上涨。。。

这次不搞200g的文件 这次是在渗透测试过程中发现主机扫了一整个a段

扫了c段 毛都没发现 b段同理 干脆直接搞a段

我也是豁出去了 不怕查水表

200w ip保存到文件大概是这样的格式

#masscan
open icmp 0 x.x.x.x0 1568614984

windows 上打开这个文件直接卡死 别说导入某些工具进行扫描了

拿到mac上来搞  mac上直接打开好像没这么卡 可能是 系统的原因吧 需要提取ip 为了避免卡死 并进行少量分割

文件分割

import re
import time

filepath  = "/Users/Alienware/Desktop/result.txt"


#print(filepath.readlines())

jsonp = []
limit = 50000
nowpage = 0

with open(filepath) as fp:

    for line in fp:
        #time.sleep(0.005)
        ipmatch = re.search(r'(([01]{0,1}\d{0,1}\d|2[0-4]\d|25[0-5])\.){3}([01]{0,1}\d{0,1}\d|2[0-4]\d|25[0-5])',line)
        if ipmatch:
            ip = ipmatch[0]
            jsonp.append(ipmatch[0])

            #print(len(jsonp))
            if len(jsonp) < limit:
                continue

            #filename = "/Users/Alienware/Desktop"+str(nowpage)+".txt"
            filename = str(nowpage)+".txt"
            with open(filename,"w") as f:
                for item in jsonp:
                    f.write(item+"\n")
            print(filename)
            nowpage+=1
            jsonp = []
            print(nowpage)

#print(len(jsonp))

屏幕快照 2019-09-17 下午10.54.17.png

刚开始还不太理解 还搞了半天 弄了个死循环写了满屏文件 大致原理就是每读区多少行数据就保存到一个新的文件

这样就可以愉快的玩耍了 我后面的200g文件怎么搞 还在头疼中 全是健值对 于是就研究了mongodb 革命尚未成功,同志需要努力

题外话

刚在编辑保存这篇文章的时候  不知道按了哪个键 清空了一半内容 又特么重新编辑 发布完了又没有 果然mmp苹果就是反人类

本博客所有文章如无特别注明均为原创。作者:odaycaogen复制或转载请以超链接形式注明转自 123``blog
原文地址《头疼的文件处理(大文件分割)

相关推荐

网友评论(0)