返回列表 发帖
一百万个IP内直接使用Excel工作目录建个宏,不用再折腾

TOP

回复 5# gawk


    哥们,,这么有空,帮忙优化下我串代码


帖子:如何提取ping命令结果中响应时间最短的IP并将相关信息输出到hosts文件?

这个主题扣了12分换回来的

TOP

回复 6# gawk


    这条代码收藏了!!

TOP

[文本处理] 【已解决】批处理如何将前三段相同的ip地址去重复,并将第四段替换成指定字符?

本帖最后由 pcl_test 于 2016-9-18 18:53 编辑

昨天有位人兄发帖需要以下功能!下面的代码能实现!

这个代码里的功能对我并无有用处,因为很多文本处理器可以完美做到,一千多万行也是几秒的事,但今天使用了一下!发现了漏掉问题

本人用的是gawk 4.1.3,windows10

对一个有376362行的文本进行处理,去重并将第四列替换为0-20后得出365993行,漏掉了10369行!!xxx.xxx.xxx.0-20得出的结果是以IP范围为格式,所以再乘20等于漏掉了207380个IP

可能有人会认为376362个IP有重复,但这376362行IP是无有重复的,格式为xxx.xxx.xxx.0



大家可以测试一下!
http://pan.baidu.com/s/1gdRzB6F

删除前3列相同ip地址,去重并将第四列替换为0-20
文本1:
58.217.200.13
58.217.200.15  
220.181.185.141
58.217.200.37   
61.135.185.31  
123.126.99.31
61.135.185.32
输出文本2:
58.217.200.0-20  
220.181.185.0-20  
61.135.185.0-20  
123.126.99.0-20

出现问题是这条代码!
  1. gawk "BEGIN{FS=OFS=\".\"}{if(!a[$1.$2.$3]++)print $1,$2,$3,\"0-20\"}" 1.txt > 2.txt
复制代码
正确代码为“
  1. gawk "BEGIN{FS=OFS=\".\"}{if(!a[$1\"_\"$2\"_\"$3]++)print $1,$2,$3,\"0-20\"}" 1.txt > 2.txt
复制代码
1

评分人数

    • wangdao6699: 感谢兄台测试,修改,优化代码技术 + 1

回复 2# codegay


这个真无去尝试。。。

TOP

回复 4# 依山居


    我用了几个大型软件测试过376362行无有重复的

TOP

回复 3# codegay


    py脚本是如何输出结果的?

TOP

回复 8# gawk


    如果有其它不是IP的字符,你的代码会出现一个值...0-20例如:#-------------------中国CN...0-20

TOP

回复 10# gawk


    原来这样的...直接再做一个代码删除...0-20会不会好点

TOP

回复 23# gawk


#---------中国CN
1.1.1.1
2.2.2.2
3.3.3.3
#---------美国EN
4.4.4.4
5.5.5.5
6.6.6.6

TOP

回复 26# WHY


#---------中国CN
1.1.1.1
2.2.2.2
3.3.3.3
#---------美国EN
4.4.4.4
5.5.5.5
6.6.6.6

如果保留这些行又如何实现??#---------中国CN

#---------中国CN
1.1.1.0-20
2.2.2.0-20
3.3.3.0-20
#---------美国EN
4.4.4.0-20
5.5.5.0-20
6.6.6.0-20

TOP

回复 27# gawk


    #---------中国CN
1.1.1.1
2.2.2.2
3.3.3.3
#---------美国EN
4.4.4.4
5.5.5.5
6.6.6.6

如果保留这些行又如何实现??#---------中国CN

#---------中国CN
1.1.1.0-20
2.2.2.0-20
3.3.3.0-20
#---------美国EN
4.4.4.0-20
5.5.5.0-20
6.6.6.0-20

TOP

回复 25# wangdao6699


    EmEditorPortable  需要自已研究正规则之类的!!

TOP

返回列表