首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Grep文本的特定部分

Grep文本的特定部分
EN

Stack Overflow用户
提问于 2014-04-22 14:26:04
回答 3查看 190关注 0票数 1

我有这样的短信:

代码语言:javascript
复制
ora.sas.aa.svc
      1        ONLINE  ONLINE       sas1                                         
ora.sas.bb.svc
      1        ONLINE  ONLINE       sas2                                         
ora.sas.cc.svc
      1        ONLINE  ONLINE       sas2                                         
ora.sas.dd.svc
      1        ONLINE  ONLINE       sas1                                         
ora.sas.ee.svc
      1        ONLINE  ONLINE       sas1                                         
      2        ONLINE  ONLINE       sas2  

我想要的是grep这个.svc和在线状态的特定部分,比如:

example.txt _grep aa

代码语言:javascript
复制
  ora.sas.aa.svc
          1        ONLINE  ONLINE       sas1     

example.txt =grep ee

代码语言:javascript
复制
 ora.sas.ee.svc
      1        ONLINE  ONLINE       sas1                                         
      2        ONLINE  ONLINE       sas2  

行号“联机”可能会改变,所以我不能用grep -A2grep -A3的grep。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-04-22 14:30:25

您可以使用awk代替:

代码语言:javascript
复制
awk -v s='ee' 'NF==1 && $0 ~ s{p=1} NF==1 && !($0 ~ s){p=0} p' file
ora.sas.ee.svc
      1        ONLINE  ONLINE       sas1
      2        ONLINE  ONLINE       sas2

awk -v s='aa' 'NF==1 && $0 ~ s{p=1} NF==1 && !($0 ~ s){p=0} p' file
ora.sas.aa.svc
      1        ONLINE  ONLINE       sas1
票数 2
EN

Stack Overflow用户

发布于 2014-04-22 14:30:17

不确定是否可以使用grep,但您肯定可以使用awk。

代码语言:javascript
复制
<example.txt awk 'NF==1 { got_match = ($0 ~ /PATTERN/)} got_match {print}'

用"ee“或"aa”替换模式,它应该能做到这一点。

票数 2
EN

Stack Overflow用户

发布于 2014-04-22 14:32:51

sed

代码语言:javascript
复制
$ func() {
> sed -n "/$1/{:a;p;n;/^[[:space:]]/ba}" "$2"
> }
$ func aa example.txt
ora.sas.aa.svc
      1        ONLINE  ONLINE       sas1
$ func ee example.txt
ora.sas.ee.svc
      1        ONLINE  ONLINE       sas1
      2        ONLINE  ONLINE       sas2
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23222389

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档