sed命令如何实现XML文件的增删改??急急急!哪位大神告诉下啊

<DC_Public>
    < Codec_Space Codec_SpaceValue="0" />
    < HeartBeatCfg HeartBeatRate="16" Mux_HB_DECount="2" Codec_HB_DECount="2" Prov_HB_DECount="2" />
    < DC_Public PathValue="dc_user.rft" DefaultUserName="administrator" DefaultUserPassword="12345678" PrivateData="PrivateData" />
    < CheckPW TheValue="1" />
    < Device_Info VideoInputNum="10" AudioInputNum="1" VideoOutputNum="4" AudioOutputNum="1" />
    < StreamTransport ConnectTimes="0" />
</DC_Public>
<DC_NetWork>
    < Codec_SockControl Codec_IP="192.168.240.240" Codec_CtrPort="3300" Codec_UDPHeartPort="27229" Codec_LogPort="27235" Link_Internal_Codec="eth2" />
    < Mux_SockControl Mux_LogPort="27235" Mux_CtrPort="5000" Mux_IP="192.168.230.230" />
    < LinkCfg Link_Internal_Mux="eth1" Link_OutSide="eth3" Link_Internal_Codec="eth2" />
    < ControlListen ListenPort="2000" />
</DC_NetWork>
<DC_SerialProt>
    < Port1 PortUsage="3" PortEnable="1" PortDevAddr="/dev/ttyS0" PortBaudrate="9" PortByteSize="4" PortParity="0" PortStopBit="1" FlowControl="0" />
    < Port2 PortUsage="2" PortEnable="1" PortDevAddr="/dev/ttyS1" PortBaudrate="9" PortByteSize="4" PortParity="0" PortStopBit="1" FlowControl="0" />
    < Port3 PortUsage="4" PortEnable="1" PortDevAddr="/dev/ttyS2" PortBaudrate="9" PortByteSize="4" PortParity="0" PortStopBit="1" FlowControl="0" />
    < Port4 PortUsage="5" PortEnable="1" PortDevAddr="/dev/ttyS3" PortBaudrate="9" PortByteSize="4" PortParity="0" PortStopBit="1" FlowControl="0" />
    < Port5 PortUsage="7" PortEnable="1" PortDevAddr="/dev/ttyS4" PortBaudrate="13" PortByteSize="4" PortParity="0" PortStopBit="1" FlowControl="0" />
    < Port6 PortUsage="1" PortEnable="1" PortDevAddr="/dev/ttyS5" PortBaudrate="9" PortByteSize="4" PortParity="0" PortStopBit="1" FlowControl="0" />
</DC_SerialProt>
<OSDManageMoudle>
    < OSDBaseInfo InputOSDCount="10" />
    < InputOSD_ID1 OSD_Script="Input1" InputVSID="1" FontSize="10" FontSpace="0" Position="1" RedColor="255" GreenColor="255" BlueColor="255" Enable="0" />
    < InputOSD_ID2 OSD_Script="Input2" InputVSID="2" FontSize="10" FontSpace="0" Position="1" RedColor="255" GreenColor="255" BlueColor="255" Enable="0" />
    < InputOSD_ID3 OSD_Script="Input3" InputVSID="3" FontSize="10" FontSpace="0" Position="1" RedColor="255" GreenColor="255" BlueColor="255" Enable="0" />
    < InputOSD_ID4 OSD_Script="Input4" InputVSID="4" FontSize="10" FontSpace="0" Position="1" RedColor="255" GreenColor="255" BlueColor="255" Enable="0" />
    < InputOSD_ID5 OSD_Script="Input5" InputVSID="5" FontSize="10" FontSpace="0" Position="1" RedColor="255" GreenColor="255" BlueColor="255" Enable="0" />
    < InputOSD_ID6 OSD_Script="Input6" InputVSID="6" FontSize="10" FontSpace="0" Position="1" RedColor="255" GreenColor="255" BlueColor="255" Enable="0" />
    < InputOSD_ID7 OSD_Script="Input7" InputVSID="7" FontSize="10" FontSpace="0" Position="1" RedColor="255" GreenColor="255" BlueColor="255" Enable="0" />
    < InputOSD_ID8 OSD_Script="Input8" InputVSID="8" FontSize="10" FontSpace="0" Position="1" RedColor="255" GreenColor="255" BlueColor="255" Enable="0" />
    < InputOSD_ID9 OSD_Script="Input9" InputVSID="9" FontSize="10" FontSpace="0" Position="1" RedColor="255" GreenColor="255" BlueColor="255" Enable="0" />
    < InputOSD_ID10 OSD_Script="Input10" InputVSID="10" FontSize="10" FontSpace="0" Position="1" RedColor="255" GreenColor="255" BlueColor="255" Enable="0" />
    < RemoteInputOSD OSD_Script="RemoteSource" InputVSID="0" FontSize="10" FontSpace="0" Position="1" RedColor="255" GreenColor="255" BlueColor="255" Enable="0" />
    < _TimeOSDBaseInfo1 Xpos="0" Ypos="0" RedColor="0" GreenColor="0" BlueColor="0" Enable="0" />
    < BackgroundBaseInfo Enable="0" />
    < _TimeOSDBaseInfo2 Xpos="0" Ypos="0" RedColor="0" GreenColor="0" BlueColor="0" Enable="0" />
    < RemoteSource Enable="1" />
</OSDManageMoudle>

例如我要增加节点DC_SerialProt的子节点Port2的属性 ProtSize="56" 用sed命令如何做呢,首先我得定位节点DC_SerialProt的内容,然后再其中定位子节Port2,然后才能添加属性,改如何做啊。。。大神教教吧 返回IT界网站首页>>

--------解决方案--------
参见我的博客:http://blog.csdn.net/zmlovelx/article/details/21158235
--------解决方案--------
再问下大神,如果我想判断XML里有没有某个字符串

if   sed -n ‘/XXX/p‘ 1.xml >/dev/null 2>&1;then
 echo "hello"
else
echo "world"
 fi
应该是XXX字符串存在 打印出hello  XXX不存在打印world
为什么无聊XXX存不存在打印的都是hello啊  请问哪里出错了啊

--------解决方案--------
sed -n ‘/XXX/p‘ 1.xml
不管是否存在XXX,sed命令都认为自己成功执行完毕。

改成grep吧
grep ‘XXX‘ 1.xml

--------解决方案--------
谢啦 大神 。
文章来源:IT界 http://www.itjie.wang/linuxdevelopment/504493.html
时间: 2024-08-02 11:18:47

sed命令如何实现XML文件的增删改??急急急!哪位大神告诉下啊的相关文章

xml文件的增删改读

最近学习了利用XmlDocument对象对xml进行增删改读操作,就写了一个小的例子记录下来,加深印象,以后忘了也可以找出来看看. xml文件: 1 <?xml version="1.0" encoding="utf-8"?> 2 <Users> 3 <User Id="1"> 4 <Name>吴奇隆</Name> 5 <Sex>1</Sex> 6 <Pho

php对xml文件的增删改查

源文件<?xml version="1.0" encoding="utf-8"?><root>  <endTime>2016-08-01</endTime>  <content>文件内容</content></root> $file='callBoard.xml'; 查询xml----------------------- $doc=new DOMDocument();//实例化对像

Asp.Net 操作XML文件的增删改查 利用GridView

不废话,直接上如何利用Asp.NET操作XML文件,并对其属性进行修改,刚开始的时候,是打算使用JS来控制生成XML文件的,但是最后却是无法创建文件,读取文件则没有使用了 index.aspx 文件 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="index.aspx.cs" Inherits="XmlManager.index" %> <!

使用dom4j操作xml文件的增删改

package day2.domx; import java.io.File; import java.io.FileOutputStream; import java.io.OutputStream; import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.io.OutputFormat; import org.dom4j.io.SAXReader; import org.dom4j.io.XMLWriter;

Java实现对xml文件的增删改查

package com.HeiBeiEDU.test2; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import org.junit.Test; import org.w3c.dom.*; import org.xml.sax.SAXException; import javax.xml.parser

java对xml文件做增删改查

http://www.cnblogs.com/wangchenyang/archive/2011/08/23/2150530.html http://www.blogjava.net/weishuangshuang/archive/2011/11/08/363237.html http://www.cnblogs.com/jiugehuanying/archive/2012/01/12/2320058.html

MyBatis学习(二)、SQL语句映射文件(2)增删改查、参数、缓存

二.SQL语句映射文件(2)增删改查.参数.缓存 2.2 select 一个select 元素非常简单.例如: Xml代码   <!-- 查询学生,根据id --> <select id="getStudent" parameterType="String" resultMap="studentResultMap"> SELECT ST.STUDENT_ID, ST.STUDENT_NAME, ST.STUDENT_SEX

MVC创建XML,并实现增删改

如果创建如下的XML: <?xml version="1.0" encoding="utf-8" standalone="yes"?> <Students> <Student Id="1"> <Name>darren</Name> </Student> </Students> 创建XML文件 在HomeController中,在根目录下创建ne

文件的增删改查

有以下员工信息表 当然此表你在文件存储时可以这样表示 1 1,Alex Li,22,13651054608,IT,2013-04-01 现需要对这个员工信息文件,实现增删改查操作 可进行模糊查询,语法至少支持下面3种: select name,age from staff_table where age > 22 select  * from staff_table where dept = "IT" select  * from staff_table where enroll