Chinaunix

标题: 如何提取数据 [打印本页]

作者: mir620    时间: 2013-04-08 16:04
标题: 如何提取数据
        OSMUIP sr5s2_oss_sg_ip_rs (
                Device = bond1
                Address = "10.67.141.102"
                NetMask = "255.255.254.0"
                )

        OSMUIP sr5s2_oss_sg_ip_rs_bond2 (
                Device = bond2
                Address = "10.67.145.222"
                NetMask = "255.255.254.0"
                )

        OssApp sr5s2_oss_sg_ossapp_rs (
                OmcRoot = "/opt/oss"
                OmcServiceIp = "10.67.141.102"
                )



除字符串“sr5s2_oss_sg_ip_rs_bond2”是唯一的,且IP是不确定
怎么的得到以下3行

Device = bond2
Address = "10.67.145.222"
NetMask = "255.255.254.0"

作者: todayhero    时间: 2013-04-08 16:09
@mir620
  1. [root@Wed ~]# grep -A 3 'sr5s2_oss_sg_ip_rs_bond2' urfile  | tail -3
  2.                 Device = bond2
  3.                 Address = "10.67.145.222"
  4.                 NetMask = "255.255.254.0"
复制代码

作者: mir620    时间: 2013-04-08 16:24
回复 2# todayhero


    谢谢,
作者: 代号:军刀    时间: 2013-04-08 16:30
  1. sed -n '/OSMUIP sr5s2_oss_sg_ip_rs_bond2/{n;p;n;p;n;p}'
复制代码

作者: L_kernel    时间: 2013-04-08 17:18
  1. sed -n '/sr5s2_oss_sg_ip_rs_bond2/,+3{/sr5s2_oss_sg_ip_rs_bond2/d;p}'
复制代码

作者: seesea2517    时间: 2013-04-08 17:22
本帖最后由 seesea2517 于 2013-04-08 17:25 编辑

回复 2# todayhero


    我以为 grep -A 3 就够了,为啥还要 tail -3 呢?

嗯,好吧,知道了。
作者: dn833    时间: 2013-04-08 17:37
  1. awk 'BEGIN{RS="OSMUIP";FS=OFS="\n"}/sr5s2_oss_sg_ip_rs_bond2/{print $2,$3,$4}'
复制代码

作者: todayhero    时间: 2013-04-08 17:40
@seesea2517

你去掉tail -3不就明白为什么了吗?
作者: V_客    时间: 2013-04-08 17:51
  1. awk 'BEGIN{a=1}/sr5s2_oss_sg_ip_rs_bond2/{a=0;next};a==0;/NetMask/{a=1}'
复制代码

作者: zooyo    时间: 2013-04-08 22:13
提示: 作者被禁止或删除 内容自动屏蔽
作者: peawseshc    时间: 2013-04-08 22:49
  1. awk '/OSMUIP sr5s2_oss_sg_ip_rs_bond2/{n=3;next}--n>=0' urfile  
复制代码

作者: V_客    时间: 2013-04-09 12:08
回复 11# peawseshc


    good!
作者: 秦汉唐宋元    时间: 2013-04-09 14:08
awk 'BEGIN{RS="[()]"}/sr5s2_oss_sg_ip_rs_bond2/{getline;print $0}'
作者: yinwei2012    时间: 2013-04-09 22:32
awk '/sr5s2_oss_sg_ip_rs_bond2/{for(i=1;i<=3;i++){getline;print $0}}'    file:wink:




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2