免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2353 | 回复: 19
打印 上一主题 下一主题

[文本处理] 代码太难,真正大神都上班去了,不求助了。谢谢! [复制链接]

论坛徽章:
31
程序设计版块每日发帖之星
日期:2016-02-06 06:20:00程序设计版块每日发帖之星
日期:2016-07-20 06:20:00程序设计版块每日发帖之星
日期:2016-07-26 06:20:00每日论坛发贴之星
日期:2016-07-26 06:20:00程序设计版块每日发帖之星
日期:2016-07-27 06:20:00每日论坛发贴之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-28 06:20:00程序设计版块每日发帖之星
日期:2016-07-29 06:20:00程序设计版块每日发帖之星
日期:2016-08-02 06:20:00程序设计版块每日发帖之星
日期:2016-08-06 06:20:00程序设计版块每日发帖之星
日期:2016-08-08 06:20:00程序设计版块每日发帖之星
日期:2016-08-09 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-04-10 09:38 |只看该作者 |倒序浏览
本帖最后由 bmne 于 2016-04-11 19:23 编辑


我已挑出最有代表性的IP,估计大神能看明白了

源IP  (给出的源IP已经从小到大排好序)

1.0.1.0
1.0.3.255
1.0.8.0
1.0.15.255
1.0.32.0
1.0.63.255
1.4.1.0
1.4.3.255
1.4.8.0
1.4.15.255
3.20.1.0
3.20.3.255
3.20.8.0
3.20.15.255
3.88.0.0
3.91.255.255
3.92.0.0
3.92.255.255
3.93.0.0
3.93.0.0
46.93.0.2
46.93.255.255
98.193.0.0
98.193.0.0
223.0.0.0
223.1.255.255
223.2.0.0
223.2.63.255
223.6.6.7
223.7.255.255
223.8.3.0
223.8.4.255

整理归类顺序要求:

1、第一段数字串必须相同(以下讲话都是在这个前提下,不再重复说),才能归到一组中
   比如:第一段数字串都是3
   3.20.1.0
   3.93.0.0

2、第二段数字串数值 若相同,但必须 ≥6行  ,取这里面第三段数字串数值最小的和最大的,归到一组中后输出
   比如
   1.0.1.0
   1.0.3.255
   1.0.8.0
   1.0.15.255
   1.0.32.0
   1.0.63.255
   输出结果
   1.0.1.0
   1.0.63.255

3、第二段数字串 位数相同 , 数字串数值相同 , 但 <6行 (归类不了第4项的要求中的) ,取这里面第三段数字串数值最小的和最大的,归到一组中后输出
   比如
   1.4.1.0
   1.4.3.255
   1.4.8.0
   1.4.15.255
   输出结果
   1.4.1.0
   1.4.15.255

4、第二段数字串数值 若不同  ,但注意:第二段数字串 位数 必须相同
   ①、把上面第2项中 <6行 的归类到这里
   ②、把第二段数字串 位数 相同的,数字串数值最小的和最大的,归到一组中后输出
   比如
   3.20.1.0
   3.20.3.255
   3.20.8.0
   3.20.15.255
   3.88.0.0
   3.91.255.255
   3.92.0.0
   3.92.255.255
   3.93.0.0
   3.93.0.0
   输出结果
   3.20.1.0
   3.93.0.0

根据上面4点要求,把源IP整理输出的最终结果是(用空行分开各个组)

1.0.1.0
1.0.63.255

1.4.1.0
1.4.15.255

3.20.1.0
3.93.0.0

46.93.0.2
46.93.255.255

98.193.0.0
98.193.0.0

223.0.0.0
223.8.4.255




我不相信我把问题永远解释不明白。但愿这次大神能看懂。


谢谢大神给看看



感谢帮助过我的大神








论坛徽章:
31
程序设计版块每日发帖之星
日期:2016-02-06 06:20:00程序设计版块每日发帖之星
日期:2016-07-20 06:20:00程序设计版块每日发帖之星
日期:2016-07-26 06:20:00每日论坛发贴之星
日期:2016-07-26 06:20:00程序设计版块每日发帖之星
日期:2016-07-27 06:20:00每日论坛发贴之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-28 06:20:00程序设计版块每日发帖之星
日期:2016-07-29 06:20:00程序设计版块每日发帖之星
日期:2016-08-02 06:20:00程序设计版块每日发帖之星
日期:2016-08-06 06:20:00程序设计版块每日发帖之星
日期:2016-08-08 06:20:00程序设计版块每日发帖之星
日期:2016-08-09 06:20:00
2 [报告]
发表于 2016-04-10 09:39 |只看该作者
本帖最后由 bmne 于 2016-04-11 06:23 编辑

我自己玩不转,没法,只能求助大神。
解释没法再精简了不要嫌啰嗦啊。若再看不懂,请大神指出来,我去撞墙去
其实,很简单的事,如果当面说,几句话就明白了。
只是书面描述看似复杂啊,其实一点也不复杂,说白了就是观察确定第二段数字串的几个变化


在这里编辑下有人看不明白提的几个问题:

一、哪个是 第二段数字串数值 若相同,但必须 ≥6行  ?

    下面的就是6行
      1.0.1.0
      1.0.3.255
      1.0.8.0
      1.0.15.255
      1.0.32.0
      1.0.63.255
     上面第二段数字串数值,就是六个  0  (零)

     再举个例子
     若下面的是这样,就是2行
       3.21.56.87
       3.21.94.89
     上面第二段数字串数值,就是两个21

二、下面的咋弄啊?

        223.0.0.0
        223.1.255.255
        223.2.0.0
        223.2.63.255
        223.6.6.7
        223.7.255.255
        223.8.3.0
        223.8.4.255
      
      把上面的归类到第4项中去。
      4、第二段数字串数值 若不同  ,但注意:第二段数字串 位数 必须相同
          ①、把上面第2项中 <6行 的归类到这里
          ②、把第二段数字串 位数 相同的,数字串数值最小的和最大的,归到一组中后输出

       注意看下:
         223.0.0.0
         223.1.255.255
         223.6.6.7
         223.7.255.255
       上面的归到:   第二段数字串数值 若不同  ,但注意:第二段数字串 位数 必须相同

       另外这个
         223.2.0.0
         223.2.63.255
       还有这个
         223.8.3.0
         223.8.4.255
       上面的统统归到    ①、把上面第2项中 <6行 的归类到这里


       所以这个最终归类整理结果:  ②、把第二段数字串 位数 相同的,数字串数值最小的和最大的,归到一组中后输出
         223.0.0.0
         223.8.4.255




论坛徽章:
31
程序设计版块每日发帖之星
日期:2016-02-06 06:20:00程序设计版块每日发帖之星
日期:2016-07-20 06:20:00程序设计版块每日发帖之星
日期:2016-07-26 06:20:00每日论坛发贴之星
日期:2016-07-26 06:20:00程序设计版块每日发帖之星
日期:2016-07-27 06:20:00每日论坛发贴之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-28 06:20:00程序设计版块每日发帖之星
日期:2016-07-29 06:20:00程序设计版块每日发帖之星
日期:2016-08-02 06:20:00程序设计版块每日发帖之星
日期:2016-08-06 06:20:00程序设计版块每日发帖之星
日期:2016-08-08 06:20:00程序设计版块每日发帖之星
日期:2016-08-09 06:20:00
3 [报告]
发表于 2016-04-10 11:44 |只看该作者
本帖最后由 bmne 于 2016-04-11 07:15 编辑

找找 2# elu_ligao

下面是  elu_ligao  大神以前给出的几个类似的代码  (我不好意思再张口求人家帮助了,已经给人家添了不少麻烦)
awk -F\. '!a[$1$2]++{print b"\n"$0}{b=$0}END{print}'
awk -F\. '!/^$/&&!a[$1length($2)]++{print b"\n\n"$0}{b=$0}END{print}'
awk -F\. '!a[$1length($2)]++{if(s!=$1||n>=6)print b?b"\n\n"$0:$0;n=0}{b=$0;s=$1;n++}END{print}'



如果所有大神恰好有点时间愿意帮助我,可以看一下。(周一大神都上班了,希望我有好运气!)
(千万不要因为elu_ligao大神以前帮助过我,别的大神都不出手啊!谢谢谢谢,我确实需要这个代码的)


找找 2# 我是一隻羊
大神好,你看看这次能不能看明白了?用不用我去撞墙?








   

论坛徽章:
307
程序设计版块每周发帖之星
日期:2016-04-08 00:41:33操作系统版块每日发帖之星
日期:2015-09-02 06:20:00每日论坛发贴之星
日期:2015-09-02 06:20:00程序设计版块每日发帖之星
日期:2015-09-04 06:20:00每日论坛发贴之星
日期:2015-09-04 06:20:00每周论坛发贴之星
日期:2015-09-06 22:22:00程序设计版块每日发帖之星
日期:2015-09-09 06:20:00程序设计版块每日发帖之星
日期:2015-09-19 06:20:00程序设计版块每日发帖之星
日期:2015-09-20 06:20:00每日论坛发贴之星
日期:2015-09-20 06:20:00程序设计版块每日发帖之星
日期:2015-09-22 06:20:00程序设计版块每日发帖之星
日期:2015-09-24 06:20:00
4 [报告]
发表于 2016-04-10 14:23 |只看该作者
回复 2# bmne
先别撞墙, 有个地方不懂请解释下:
2、第二段数字串数值 若相同,但必须 ≥6行  ,取这里面第三段数字串数值最小的和最大的,归到一组中后输出
   比如
   1.0.1.0
   1.0.3.255
   1.0.8.0
   1.0.15.255
   1.0.32.0
   1.0.63.255
   输出结果
   1.0.1.0
   1.0.63.255

哪个是 第二段数字串数值 若相同,但必须 ≥6行

   

论坛徽章:
31
程序设计版块每日发帖之星
日期:2016-02-06 06:20:00程序设计版块每日发帖之星
日期:2016-07-20 06:20:00程序设计版块每日发帖之星
日期:2016-07-26 06:20:00每日论坛发贴之星
日期:2016-07-26 06:20:00程序设计版块每日发帖之星
日期:2016-07-27 06:20:00每日论坛发贴之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-28 06:20:00程序设计版块每日发帖之星
日期:2016-07-29 06:20:00程序设计版块每日发帖之星
日期:2016-08-02 06:20:00程序设计版块每日发帖之星
日期:2016-08-06 06:20:00程序设计版块每日发帖之星
日期:2016-08-08 06:20:00程序设计版块每日发帖之星
日期:2016-08-09 06:20:00
5 [报告]
发表于 2016-04-10 14:37 |只看该作者
本帖最后由 bmne 于 2016-04-10 14:40 编辑

回复 4# sunzhiguolu


下面就是6行
   1.0.1.0
   1.0.3.255
   1.0.8.0
   1.0.15.255
   1.0.32.0
   1.0.63.255

上面第二段数字串数值,就是六个  0  (零) ,



再举例子
若下面这样,就是2行
3.21.56.87
3.21.94.89
上面第二段数字串数值,就是两个21



   

论坛徽章:
307
程序设计版块每周发帖之星
日期:2016-04-08 00:41:33操作系统版块每日发帖之星
日期:2015-09-02 06:20:00每日论坛发贴之星
日期:2015-09-02 06:20:00程序设计版块每日发帖之星
日期:2015-09-04 06:20:00每日论坛发贴之星
日期:2015-09-04 06:20:00每周论坛发贴之星
日期:2015-09-06 22:22:00程序设计版块每日发帖之星
日期:2015-09-09 06:20:00程序设计版块每日发帖之星
日期:2015-09-19 06:20:00程序设计版块每日发帖之星
日期:2015-09-20 06:20:00每日论坛发贴之星
日期:2015-09-20 06:20:00程序设计版块每日发帖之星
日期:2015-09-22 06:20:00程序设计版块每日发帖之星
日期:2015-09-24 06:20:00
6 [报告]
发表于 2016-04-10 14:42 |只看该作者
回复 5# bmne
好的, 晓得了. 非常感谢.

   

论坛徽章:
31
程序设计版块每日发帖之星
日期:2016-02-06 06:20:00程序设计版块每日发帖之星
日期:2016-07-20 06:20:00程序设计版块每日发帖之星
日期:2016-07-26 06:20:00每日论坛发贴之星
日期:2016-07-26 06:20:00程序设计版块每日发帖之星
日期:2016-07-27 06:20:00每日论坛发贴之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-28 06:20:00程序设计版块每日发帖之星
日期:2016-07-29 06:20:00程序设计版块每日发帖之星
日期:2016-08-02 06:20:00程序设计版块每日发帖之星
日期:2016-08-06 06:20:00程序设计版块每日发帖之星
日期:2016-08-08 06:20:00程序设计版块每日发帖之星
日期:2016-08-09 06:20:00
7 [报告]
发表于 2016-04-10 14:47 |只看该作者
回复 6# sunzhiguolu




你怎能说感谢?我提问题都不让大家明白,惭愧啊

能帮助我,我应该感谢你们才对啊


谢谢了




   

论坛徽章:
31
程序设计版块每日发帖之星
日期:2016-02-06 06:20:00程序设计版块每日发帖之星
日期:2016-07-20 06:20:00程序设计版块每日发帖之星
日期:2016-07-26 06:20:00每日论坛发贴之星
日期:2016-07-26 06:20:00程序设计版块每日发帖之星
日期:2016-07-27 06:20:00每日论坛发贴之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-28 06:20:00程序设计版块每日发帖之星
日期:2016-07-29 06:20:00程序设计版块每日发帖之星
日期:2016-08-02 06:20:00程序设计版块每日发帖之星
日期:2016-08-06 06:20:00程序设计版块每日发帖之星
日期:2016-08-08 06:20:00程序设计版块每日发帖之星
日期:2016-08-09 06:20:00
8 [报告]
发表于 2016-04-10 14:49 |只看该作者
回复 6# sunzhiguolu


请大神别用printf    我菜啊


谢谢


   

论坛徽章:
307
程序设计版块每周发帖之星
日期:2016-04-08 00:41:33操作系统版块每日发帖之星
日期:2015-09-02 06:20:00每日论坛发贴之星
日期:2015-09-02 06:20:00程序设计版块每日发帖之星
日期:2015-09-04 06:20:00每日论坛发贴之星
日期:2015-09-04 06:20:00每周论坛发贴之星
日期:2015-09-06 22:22:00程序设计版块每日发帖之星
日期:2015-09-09 06:20:00程序设计版块每日发帖之星
日期:2015-09-19 06:20:00程序设计版块每日发帖之星
日期:2015-09-20 06:20:00每日论坛发贴之星
日期:2015-09-20 06:20:00程序设计版块每日发帖之星
日期:2015-09-22 06:20:00程序设计版块每日发帖之星
日期:2015-09-24 06:20:00
9 [报告]
发表于 2016-04-10 15:22 |只看该作者
本帖最后由 sunzhiguolu 于 2016-04-10 15:23 编辑

回复 8# bmne
抱歉, 看错了!
   

论坛徽章:
31
程序设计版块每日发帖之星
日期:2016-02-06 06:20:00程序设计版块每日发帖之星
日期:2016-07-20 06:20:00程序设计版块每日发帖之星
日期:2016-07-26 06:20:00每日论坛发贴之星
日期:2016-07-26 06:20:00程序设计版块每日发帖之星
日期:2016-07-27 06:20:00每日论坛发贴之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-28 06:20:00程序设计版块每日发帖之星
日期:2016-07-29 06:20:00程序设计版块每日发帖之星
日期:2016-08-02 06:20:00程序设计版块每日发帖之星
日期:2016-08-06 06:20:00程序设计版块每日发帖之星
日期:2016-08-08 06:20:00程序设计版块每日发帖之星
日期:2016-08-09 06:20:00
10 [报告]
发表于 2016-04-10 15:28 |只看该作者
回复 9# sunzhiguolu


啥意思?抽空帮我弄弄吧

我估计好多大神今天都在休息中





   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP