Kisesy / gscan_quic

Google Quic 扫描工具
The Unlicense
348 stars 81 forks source link

请教IP筛选过滤问题。 #145

Closed fuckchinaOK closed 6 years ago

fuckchinaOK commented 6 years ago

请教你一个问题,我现在有一个txt文本,有200多万行,格式如下: 8.8.8.8:443 8.8.8.8:444 8.8.4.4:80 8.8.8.8:445 8.8.8.8:446 4.4.4.4:80 8.8.8.8:447 8.8.8.8:448 .......

我想删除重复行,以上内容最后只输出: 8.8.4.4:80 4.4.4.4:80

有什么工具或怎么做?

yfdyh000 commented 6 years ago

如果只要 :80,找工具提取包含:80的行并去重。 或者,用正则删掉所有:端口号,再用正则或工具在尾部追加所要的端口。 如果要每个主机的第一个/特定端口号,导入/替换为CSV,用表格软件处理。

fuckchinaOK commented 6 years ago

ip:port 我就是想把IP重复的行,全删掉(它这个IP,有很多不同的port)。

在表格软件里面,我只能删掉完全重复的行。(关键问题是重复的行,前半部分的IP是重复的,后半部分的port是不同的。)

按照你说的,用正则,先删掉所有port,接着删掉重复IP, 问题是删后得到我要的纯净IP,但怎么恢复还原port ?

tec1987 commented 6 years ago

excel 先分列再去重, 200多万,要分两部分,excel2007单表最多1048576行

fuckchinaOK commented 6 years ago

是的,好像只能先分开再判断了。

打开txt文本 一个完整的 ip:port 假如定义为一个量a : 符号 前半部分定义为一个量a1 : 符号 后半部分定义为一个量a2 (这步代码,其实没必要? ) 如果a1 相同 , 就删掉 a 导出txt文本

但我不知道 python语言 代码怎么写!!

yfdyh000 commented 6 years ago

@fuckchinaOK 删除重复项可以以单个列为基准,清空该列重复后以该列排序所有行,空白的第一列就是被删掉的,手动删去。再导出csv,逗号替换为:。 WPS为例,选中第一列,数据-删除重复项-以当前选定区域排序。数据-排序-扩展选定区域。

fuckchinaOK commented 6 years ago

感谢,明白你的意思了。 先在Notepad++ 把 : 替换为 分隔符 接着,复制粘贴到Excel , 把第一列的重复IP ,删掉。 再排序后把对应的空白端口删掉。 最后再复制到 Notepad++ 把分隔符 替换回 :

使用表格这种方法,(本问题最上面的格式例子)最后多输出了一个: 8.8.4.4:80 4.4.4.4:80 8.8.8.8:xoxo

虽然保留了一个,不过还是有效果的。我测试了100万行,瞬间50万行,就删掉了。