我有2个文件包含cidr格式的子网(212.234.96.0/24, 80.10.0.0/24,...)Liny by line。我希望你创建一个python脚本,告诉我重叠的子网。输入是file1(子网列表,超过4000)和file2(我想用file1检查的列表)。我希望file3中的输出与file2子网不重叠。
另一方面,我在shell脚本中完成了这项工作,但处理时间太长(对于+4000子网处理)。有人建议我应该在python中做这个工作。问题是我在python中是新手。
谢谢。
答案 0 :(得分:1)
粗略轮廓:
subnet
,子网地址为netmask,将两者都转换为unsigned int32 entry
,转换为unsigned int32 subnet
元素,if (entry.uint32 & subnet.netmask.uint32) == (subnet.address.uint32 & subnet.netmask.uint32)
然后entry
位于subnet
entry
不在任何子网中,请将entry
写入file3 你可以用你喜欢的任何语言来做到这一点。