Chinaunix

标题: 求助~!如何删除内容之间的行! [打印本页]

作者: itasen    时间: 2009-03-13 17:06
标题: 求助~!如何删除内容之间的行!
<inZone>                                                              
            <list>                                                                 
                <ref type="Zone" uri="" />                        
            </list>                                                               
        </inZone>                                                            
        <hasLocation>                                                              
            <list>                                                                 
                <ref type="Location" uri="/All" />                        
            </list>                                                               
        </hasLocation>                                                            
        <inCategory>                                                              
            <list>                                                                 
                <ref type="Group" uri="/All" />
            </list>                                                               
        </inCategory>                                                            
    </Asset>                                                                     
    <Asset name="5"   action="insert" >
        <address>192.168.1.1</address>                                             
        <childOf>                                                                  
            <list>                                                                  
                <ref type="Group" uri="/All" />   
            </list>                                                                 
        </childOf>                                                                 
        <macAddress></macAddress>                                       
        <hostname></hostname>                                       
        <description>DS</description>
        <inZone>                                                              
            <list>                                                                 
                <ref type="Zone" uri="" />                        
            </list>                                                               
        </inZone>                     


要求:删除   <inZone>与  </inZone> 之间的行包括 <inZone>与</inZone>    ~~!该如何做~~!?
谢谢.
不能破坏其它部分的内容.替换的话就会把所有的<list>都弄坏了...
作者: blackold    时间: 2009-03-13 17:18
标题: 回复 #1 itasen 的帖子
try:
  1. sed '/<inZone>/,/<\/inZone>/d'
复制代码

作者: ywlscpl    时间: 2009-03-13 17:20
awk '$1=="<inZone>"{T=1}$1=="</inZone>"{T=0;next}T==0' file
作者: 飞鸿无痕    时间: 2009-03-13 17:24
原帖由 ywlscpl 于 2009-3-13 17:20 发表
awk '$1==""{T=1}$1==""{T=0;next}T==0' file


这个T=1是什么写法??
作者: merlin852    时间: 2009-03-13 17:25
  1. sed  '/<inZone>/{:a N;/<\/inZone>/d;ba}'
复制代码

[ 本帖最后由 merlin852 于 2009-3-13 17:46 编辑 ]
作者: ywlscpl    时间: 2009-03-13 17:25
标题: 回复 #4 飞鸿无痕 的帖子
变量赋值啊
作者: oldoger    时间: 2009-03-13 20:48
标题: 回复 #3 ywlscpl 的帖子
这个没看明白,怎么删除的。?
作者: ywlscpl    时间: 2009-03-13 20:53
标题: 回复 #7 oldoger 的帖子
变量T==0才打印$0,想办法碰到需要删除的行时让变量T!=0
作者: oldoger    时间: 2009-03-13 21:08
标题: 回复 #8 ywlscpl 的帖子
现在想明白了。没这么用过,一下了没反应过来。
作者: ywlscpl    时间: 2009-03-13 21:10
标题: 回复 #9 oldoger 的帖子
处理这类问题时awk没sed那么方便,目前只想到这样的思路




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