免费注册 查看新帖 |

Chinaunix

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

[文本处理] 求助shell怎么删除指定的一些行 [复制链接]

论坛徽章:
1
15-16赛季CBA联赛之广东
日期:2016-07-18 17:38:18
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-07-18 17:11 |只看该作者 |倒序浏览
如图所示,期望操作后,每个节点的add只保留前两个(就像红框中这样),这个shell语句怎么写啊,求助大神~~~


sed -e ":begin; /<Server/,/<\/Server>/ { /<\/Server>/! { $! { N; b begin };}; s/<Server.*<\/Server>/ /;};"  file

用这个命令可以把Server节点部分拿出来置为空,可是怎么只保留两个呢~~~求助~~~

论坛徽章:
1
15-16赛季CBA联赛之广东
日期:2016-07-18 17:38:18
2 [报告]
发表于 2016-07-18 17:13 |只看该作者
补充下:add name的命名方式很随意,不一定是0,1,2,3这么按顺序的,也可能是21,43,54……求助大神~~~

论坛徽章:
307
程序设计版块每周发帖之星
日期:2016-04-08 00:41:33操作系统版块每日发帖之星
日期:2015-09-02 06:20:00每日论坛发贴之星
日期:2015-09-02 06:20:00程序设计版块每日发帖之星
日期:2015-09-04 06:20:00每日论坛发贴之星
日期:2015-09-04 06:20:00每周论坛发贴之星
日期:2015-09-06 22:22:00程序设计版块每日发帖之星
日期:2015-09-09 06:20:00程序设计版块每日发帖之星
日期:2015-09-19 06:20:00程序设计版块每日发帖之星
日期:2015-09-20 06:20:00每日论坛发贴之星
日期:2015-09-20 06:20:00程序设计版块每日发帖之星
日期:2015-09-22 06:20:00程序设计版块每日发帖之星
日期:2015-09-24 06:20:00
3 [报告]
发表于 2016-07-18 17:15 |只看该作者
将文本贴出来瞧瞧,

论坛徽章:
1
15-16赛季CBA联赛之广东
日期:2016-07-18 17:38:18
4 [报告]
发表于 2016-07-18 17:16 |只看该作者
我帖子里有图片啊,文本就是这个结构的~~~

回复 3# sunzhiguolu


   

论坛徽章:
1
15-16赛季CBA联赛之广东
日期:2016-07-18 17:38:18
5 [报告]
发表于 2016-07-18 17:17 |只看该作者
大概是下面这个结构  

<Service name="aaa" id="3">
        <Commmunication>
            xxxxxxxxxxxx
        </Commmunication>
        <Loadbalance>
            <Server deadTimeout="00:00:10">
                <add name="aaa1" host="aaa1.xxx.dns.org" port="xxx" />
                <add name="aaa2" host="aaa2.xxx.dns.org" port="xxx" />
                <add name="aaa3" host="aaa2.xxx.dns.org" port="xxx" />
                <add name="aaa4" host="aaa2.xxx.dns.org" port="xxx" />
            </Server>
        </Loadbalance>
    </Service>

  <Service name="bbb" id="4" >
        <Commmunication>
            xxxxxxxxxxxxxxxx
        </Commmunication>
        <Loadbalance>
            <Server deadTimeout="00:00:10">
                <add name="bbb1" host="bbb1.xxx.dns.org" port="xxx"/>
                <add name="bbb2" host="bbb2.xxx.dns.org" port="xxx"/>
                <add name="bbb3" host="bbb3.xxx.dns.org" port="xxx"/>
                <add name="bbb4" host="bbb4.xxx.dns.org" port="xxx"/>
                <add name="bbb5" host="bbb5.xxx.dns.org" port="xxx"/>
                <add name="bbb6" host="bbb6.xxx.dns.org" port="xxx"/>
                <add name="bbb7" host="bbb7.xxx.dns.org" port="xxx"/>
            </Server>
        </Loadbalance>
    </Service>

  <Service name="ccc" id="5" >
        <Commmunication>
            xxxxxxxxxxxx
        </Commmunication>
        <Loadbalance>
            <Server deadTimeout="00:00:10">
                <add name="ccc1" host="ccc1.xxx.dns.org" port="xxx"/>
                <add name="ccc2" host="ccc2.xxx.dns.org" port="xxx"/>
                <add name="ccc3" host="ccc2.xxx.dns.org" port="xxx"/>
                <add name="ccc4" host="ccc2.xxx.dns.org" port="xxx"/>
                <add name="ccc5" host="ccc2.xxx.dns.org" port="xxx"/>
            </Server>
        </Loadbalance>
    </Service>
  

回复 3# sunzhiguolu


   

论坛徽章:
307
程序设计版块每周发帖之星
日期:2016-04-08 00:41:33操作系统版块每日发帖之星
日期:2015-09-02 06:20:00每日论坛发贴之星
日期:2015-09-02 06:20:00程序设计版块每日发帖之星
日期:2015-09-04 06:20:00每日论坛发贴之星
日期:2015-09-04 06:20:00每周论坛发贴之星
日期:2015-09-06 22:22:00程序设计版块每日发帖之星
日期:2015-09-09 06:20:00程序设计版块每日发帖之星
日期:2015-09-19 06:20:00程序设计版块每日发帖之星
日期:2015-09-20 06:20:00每日论坛发贴之星
日期:2015-09-20 06:20:00程序设计版块每日发帖之星
日期:2015-09-22 06:20:00程序设计版块每日发帖之星
日期:2015-09-24 06:20:00
6 [报告]
发表于 2016-07-18 17:19 |只看该作者
对呀, 我怎么没想到啊!

论坛徽章:
1
15-16赛季CBA联赛之广东
日期:2016-07-18 17:38:18
7 [报告]
发表于 2016-07-18 17:20 |只看该作者
同学,我是来求助的……你……

回复 6# sunzhiguolu


   

论坛徽章:
1
15-16赛季CBA联赛之广东
日期:2016-07-18 17:38:18
8 [报告]
发表于 2016-07-18 17:23 |只看该作者
有没有人哪~~~注册这个账号就是为了发这个帖子啊,不要让我白注册好吗啊啊啊啊啊

论坛徽章:
28
15-16赛季CBA联赛之八一
日期:2016-02-22 19:10:4215-16赛季CBA联赛之深圳
日期:2016-12-01 10:34:0415-16赛季CBA联赛之新疆
日期:2016-12-07 10:24:2915-16赛季CBA联赛之同曦
日期:2016-12-15 12:06:43CU十四周年纪念徽章
日期:2016-12-18 13:03:4415-16赛季CBA联赛之吉林
日期:2017-01-03 15:52:2515-16赛季CBA联赛之辽宁
日期:2017-01-04 14:58:2415-16赛季CBA联赛之辽宁
日期:2017-01-15 09:42:512016科比退役纪念章
日期:2017-02-06 17:21:50黑曼巴
日期:2017-02-10 15:46:1215-16赛季CBA联赛之上海
日期:2017-03-18 10:14:5415-16赛季CBA联赛之青岛
日期:2017-03-18 22:00:44
9 [报告]
发表于 2016-07-18 17:27 |只看该作者
  1. sed '/Server deadTimeout=/{n;n;n;:a;N;/<\/Server>/!ba;s/.*\n//}'
复制代码

论坛徽章:
1
15-16赛季CBA联赛之广东
日期:2016-07-18 17:38:18
10 [报告]
发表于 2016-07-18 17:34 |只看该作者
哇,好厉害,请问可以考虑下排除空行的情况吗?就是比如server下有一行或者多行空行,然后才是add的这种~~~

回复 9# moperyblue


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP