+ -
当前位置:首页 → 问答吧 → sed匹配特点模式问题

sed匹配特点模式问题

时间:2011-06-18

来源:互联网

本帖最后由 harkencool 于 2011-06-18 22:43 编辑

数据
A A A C A A C
A B A B A B B
A B B C A A C

满足让两个A词之间的B词与C词出现次数之和大于等于3的行输出,即上面的第三行输出
目前实行了单行B词与C词出现次数之和大于等于3的行输出
sed -nr '/(.*(B|C).*){3,}/p' logfile
似乎缺了“两个A词之间”的条件,但是不知如何表达,谢谢

作者: harkencool   发布时间: 2011-06-18

  1. sed -nr '/A[BC]{3,}A/p'

  2. 这样的?
复制代码

作者: springwind426   发布时间: 2011-06-18

回复 springwind426
似乎不是这样的

作者: harkencool   发布时间: 2011-06-18

回复 harkencool


    Try grep
  1. $ echo 'A A A C A A C
  2. A B C B B A B
  3. A B B C A A C' |grep -P '(?<=A )(B |C ){3,}(?=A)'
  4. A B C B B A B
  5. A B B C A A C
复制代码

作者: yinyuemi   发布时间: 2011-06-18

本帖最后由 harkencool 于 2011-06-18 23:48 编辑

回复 yinyuemi
还有一点小问题,要是两个A词中间还穿插其他单词呢,比如 A A B B E C A,也满足A词之间出现B或C词数量之和大于3

作者: harkencool   发布时间: 2011-06-18

回复 harkencool
等下

作者: yinyuemi   发布时间: 2011-06-18