求助shell脚本修改xml的值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求助shell脚本修改xml的值相关的知识,希望对你有一定的参考价值。
xml内容如下:
想通过sell脚本完成如下修改,将package="com.2.2"一行中的value和defaultValue修改掉,请问高手如何操作啊~谢谢
xml内容如下:
<setting id="15" name="10121" value="aaa" package="com.a.a" defaultValue="aaa" defaultSysSet="true" tag="null" />
<setting id="15" name="10121" value="bbb" package="com.2.2" defaultValue="bbb" defaultSysSet="true" tag="null" />
value和defaultValue修改成ccc
<setting id="15" name="10121" value="aaa" package="com.a.a" defaultValue="aaa" defaultSysSet="true" tag="null" />
<setting id="15" name="10121" value="ccc" package="com.2.2" defaultValue="ccc" defaultSysSet="true" tag="null" />
sed -i 's/\(\svalue=\"\)[^\"]*\"/\1ccc\"/;s/\(\sdefaultValue=\"\)[^\"]*\"/\1ccc\"/;' 1.xml追问
a=123456
sed -i '/com.2.2/s/\(value=\"\)[^\"]*\"/\1'$a'\"/;s/\(defaultValue=\"\)[^\"]*\"/\1'$a'\"/;' 1.xml
我改成这样成功了.
我要修改com.2.2的那一行哦
追答可私信帮写脚本或exe
求助:BAT 修改XML指定数值
xml文件在D:\Inhh\iGe\mate\Program\Bin 文件夹下,里面的内容为:
<?xml version="1.0"?>
<License>
<Serial>4E04EF4978E44189F39C69D</SerialNo>
<Signa>198D6E4987B358B14A1A7D7DB0659187127D89A168CB22F358A070D69B4BD67D41</Signature>
<Cont>
<File>1.5</File>
<Customer>Pizze</Customer>
<HT>0</HT>
<Workstation>3</Workstation>
<PDA>0</PDA>
<Printer>2</Printer>
<Kitchen>0</Kitchen>
</Content>
</License>
我要把<Workstation>3</Workstation>还有<Printer>2</Printer>里面的3和2可以随意修改,
比如打开批处理会提示Workstation改成多少,然后是Printer,可以随意输入数字修改
还有就是修改之前先读取<Workstation>3</Workstation>还有<Printer>2</Printer>里面的数值,比如这个3和2.然后在提示修改数值
谢谢帮帮忙吧
setlocal enabledelayedexpansion
for /f "skip=2 tokens=1-4 delims=^<^>" %%i in ('find /i "workstation" page.xml') do (
set worknum=%%k
set /p str1=Workstation修改为(当前值为:!worknum!):
)
for /f "skip=2 tokens=1-4 delims=^<^>" %%i in ('find /i "printer" page.xml') do (
set printernum=%%k
set /p str2=Printer修改为(当前值为:!printernum!):
)
for /f "tokens=* delims=" %%a in (page.xml) do (
set "content=%%a"
call set "content=%%content:<Workstation>!worknum!</Workstation>=<Workstation>!str1!</Workstation>%%"
call set "content=%%content:<Printer>!printernum!</Printer>=<Printer>!str2!</Printer>%%"
echo !content!>>result.xml
)
del page.xml
ren result.xml page.xml本回答被提问者和网友采纳
以上是关于求助shell脚本修改xml的值的主要内容,如果未能解决你的问题,请参考以下文章
linux 求助shell脚本 ping命令延迟超过100ms的包就发邮件 恢复正常也发个邮件 之后不用发