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:
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
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