通过shell脚本修改xml文件中的某行记录

来源:互联网 发布:mac chrome f12 编辑:程序博客网 时间:2024/06/13 14:12

通过shell脚本修改xml文件中的某行记录

跟之前一样,假设有如下的xml文件:

web.xml中有如下内容:

<param-name>cookieName</param-name><param-value>sessionName</param-value>

需求:现在需要利用shell脚本替换掉cookieName对应的value值,

利用shell实现方式如下:

shell脚本部分:


declare -i Dline

getline() 
   {
grep -n "cookieName" ${DOMAIN_HOME}/portal/ROOT/WEB-INF/web.xml | head -1 | cut -d ":" -f 1;
   }


getlinenum() 
{
awk "BEGIN{a=`getline`;b="1";c=(a+b);print c}";
}


Dline=`getlinenum`;
echo "line is ${Dline}";
sed -i "${Dline},${Dline}s/.*/                  \<param-value\>替换的value值\<\/param-value\>/g" path/web.xml


说明:这个跟之前的替换属性文件的区别在于,这个是精确定位到行的,然后替换正行code。

           这个xml和properties 中都是默认需要替换的内容是唯一的。



0 0
原创粉丝点击