zoukankan      html  css  js  c++  java
  • grep -P的一个小问题

    用grep时,发现一个怪异的问题。

    背景:grep -E表示用扩展的正则表达式。grep -P 表示用perl正则表达式,区别:http://www.cnblogs.com/wangkangluo1/archive/2012/04/13/2446021.html

    测试文件如下:

    MAX_STAY_TIME   103299  52      2923
    SLIDE_BOTTOM    101047  0       2
    MAX_STAY_TIME   103299  53      2861

    用例1:

    grep -P '[[:space:]]SLIDE_BOTTOM[[:space:]]' temp
    grep -P 'sSLIDE_BOTTOMs' temp 
    grep -P '[ ]SLIDE_BOTTOM[[:space:]]' temp 结果: MAX_STAY_TIME
    103299 52 2923 SLIDE_BOTTOM 101047 0 2

    用例2:

    grep -E '[[:space:]]SLIDE_BOTTOM[[:space:]]' temp 
    结果:
    空

    用例3:

    grep -E 'SLIDE_BOTTOM[[:space:]]' temp
    结果:
    SLIDE_BOTTOM    101047  0       2

    分析上面三个例子,可以得出grep -P在处理换行符时,有一个小问题,会把上一行的换行符也算成下一行的开头。

  • 相关阅读:
    第四次上机练习
    第五周上机练习
    第四周作业
    第二次上机练习
    第三周作业
    第一次上机练习
    第一次作业
    第五周上级作业
    第一次上机0.0
    java第六周作业
  • 原文地址:https://www.cnblogs.com/hxdoit/p/5412254.html
Copyright © 2011-2022 走看看