免费注册 查看新帖 |

Chinaunix

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

sed 正则匹配 [复制链接]

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2015-08-13 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-10-11 12:18 |只看该作者 |倒序浏览


  1. # tail -f /var/log/myout.log |sed -n '/.*301.*Moved.*Permanently/ {n;s#.*test.com/user/\(.*\)/my.jpg\(\?l=.\)#\1\2#p}'
  2. 275/8280275/2337999/jpg/5518681?l=h
  3. 865/8450865/2381058/jpg/5507828?l=a
  4. 96/2162096/1135051/jpg/5518743?l=i
  5. 827/6478827/2165863/jpg/5140518?l=j
  6. 709/2617709/846298/jpg/5518038?l=j
  7. 658/2239658/600160/jpg/5518692?l=h
  8. 766/2532766/1854003/jpg/5517944?l=h
  9. 971/8017971/2042696459/jpg/5511655?l=j
  10. 764/8094764/2301871/jpg/5486294?l=j
  11. 514/8034514/2043108668/jpg/5518074?l=g
  12. 766/2532766/1854003/jpg/5517944?l=h
  13. 891/4823891/1619388/jpg/5518061?l=j
  14. 669/4153669/1392095/jpg/5518258?l=h
  15. 471/8335471/2346266/jpg/5410620?l=d
  16. 766/2532766/1854003/jpg/5517944?l=h
  17. 766/2532766/1854003/jpg/5517944?l=h&start=3487900
  18. 669/4153669/1392095/jpg/5518258?l=h
  19. 79/8490079/2382692/jpg/5518888?l=h
  20. 669/4153669/1392095/jpg/5518258?l=h
  21. 548/8479548/2378834/jpg/5519248?l=i
  22. 669/4153669/1392095/jpg/5518258?l=h
  23. 836/8036836/2043105172/jpg/5519297?l=d
  24. 397/5578397/2384773/jpg/5518907?l=a

复制代码
请问哪里有漏洞,导致&start=3487900也被匹配到\2 ,谢谢

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
2 [报告]
发表于 2011-10-11 12:32 |只看该作者
回复 1# hover_sky


    sed -n '/.*301.*Moved.*Permanently/ {n;s#.*test.com/user/\(.*\)/my.jpg\(\?l=.\).*#\1\2#p}'

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2015-08-13 06:20:00
3 [报告]
发表于 2011-10-11 12:34 |只看该作者
回复  hover_sky


    sed -n '/.*301.*Moved.*Permanently/ {n;s#.*test.com/user/\(.*\)/my.jpg\(\? ...
yinyuemi 发表于 2011-10-11 12:32



    我的目的是完全排除带有start 的匹配


  我明白了

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
4 [报告]
发表于 2011-10-11 13:13 |只看该作者
回复 1# hover_sky


>>    请问哪里有漏洞,导致&start=3487900也被匹配到\2 ,谢谢

&start=3487900
它是没有被(匹配到)替换掉,还留着.......
而不是被匹配到 \2

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2015-08-13 06:20:00
5 [报告]
发表于 2011-10-11 14:35 |只看该作者
回复  hover_sky


>>    请问哪里有漏洞,导致&start=3487900也被匹配到\2 ,谢谢

&start=3487900
...
jason680 发表于 2011-10-11 13:13



    嗯,是的。但我改成

tail -f /var/log/myout.log |sed -n '/.*301.*Moved.*Permanently/ {n;s#.*test.com/user/\(.*\)/my.jpg\(\?l=.\)$#\1\2#p}'

却没有输出

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2015-08-13 06:20:00
6 [报告]
发表于 2011-10-12 10:51 |只看该作者
回复  hover_sky


>>    请问哪里有漏洞,导致&start=3487900也被匹配到\2 ,谢谢

&start=3487900
...
jason680 发表于 2011-10-11 13:13



   

不明白了。我要输出的是\1 和 \2 ,那为什么不是匹配\1 和 \2 的也输出 ?

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
7 [报告]
发表于 2011-10-12 11:05 |只看该作者
回复 6# hover_sky

置顶文....(仔细看看...)
shell基础十二篇  / shell基础十:sed
http://bbs.chinaunix.net/thread-452942-1-1.html

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2015-08-13 06:20:00
8 [报告]
发表于 2011-10-12 11:26 |只看该作者
回复  hover_sky

置顶文....(仔细看看...)
shell基础十二篇  / shell基础十:sed
jason680 发表于 2011-10-12 11:05



    谢谢兄台,明白了,是部分替代。



    719/7673719/2386737/jpg/5524677/my.jpg?l=d&start=442761


    我想 s的正则不处理这种语句,可有办法?谢谢

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2015-08-13 06:20:00
9 [报告]
发表于 2011-10-12 12:09 |只看该作者
本帖最后由 hover_sky 于 2011-10-12 12:13 编辑

我想实现

HTTP/1.1 301 Moved Permanently
Location: http://test.test.com/user/91/228 ... 5523442/my.Ajpg?l=h

提取得到  91/2280091/585567/jpg/5523442|?l=h
HTTP/1.1 301 Moved Permanently
Location: http://test.test.com/user/91/228 ... ?l=h&start=2345

这种则不提取

可以这个得到:

       tail -f /var/log/myout.log|grep -v start |sed -n 's#.*test.com/user/\(.*\)/my.Ajpg\(\?l=.\)\(.*\)#\1|\2#p;'



通过关键字301.*Moved.*Permanently的下一行来提取,类似如下,还没实现。在下面语句的后面加  |grep --line-buffer  -v start 则没有输出。
        tail -f /var/log/myout.log |sed -n '/.*301.*Moved.*Permanently/ {n;s#.*test.com/user/\(.*\)/my.Ajpg\(\?l=.\)#\1\2#p}'

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
10 [报告]
发表于 2011-10-12 12:21 |只看该作者
回复 9# hover_sky

直接说清楚须求....
最原始的input及最后output...这样比较快,CU牛人一堆.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP