shell sed 命令操作xml,有一个xml文件:a.xml
$ cat a.xml
<?xml version="1.0" encoding="UTF-8"?>
<Workflow>
<Configuration>
<Property Name="DataLine1" Value="" />
<Property Name="DataLine2" Value="" />
</Configuration>
</Workflow>
删除包含指定内容的行:删除 a.xml 中节中包含字符串: Name=”DataLine 的行,就是删除名字为 Name=”DataLineXXXXXX的行。
$ sed -i '/Name="DataLine/d' ./a.xml
$ cat a.xml
<?xml version="1.0" encoding="UTF-8"?>
<Workflow>
<Configuration>
</Configuration>
</Workflow>
使用shell sed 命令在指定的内容前添加一行新的内容:
$ export DataLine1='<Property Name="DataLine1" Value=""/>'
$ sed -i "/<\/Configuration>/i ${DataLine1}" ./a.xml
$ cat a.xml
<?xml version="1.0" encoding="UTF-8"?>
<Workflow>
<Configuration>
<Property Name="DataLine1" Value=""/>
</Configuration>
</Workflow>