通过shell脚本修改xml文件中的某行记录 跟之前一样,假设有如下的xml文件: web.xml中有如下内容: [html] view plain copy cookieName sessionName 需求:现在需要利用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/.*/ \替换的value值\<\/param-value\>/g” path/web.xml 说明:这个跟之前的替换属性文件的区别在于,这个是精确定位到行的,然后替换正行code。 这个xml和properties 中都是默认需要替换的内容是唯一的。
100字范文,内容丰富有趣,生活中的好帮手!