[SHELL] 修改xml的内容
2014-07-18 09:49
1936 查看
解析和修改xml用python比较方便,但如果不方便使用python,可以用sed命令简单替换
例如,欲替换下面一行中的端口号的值:
可以使用:
说明:
<和>用于单词边界的匹配,二者连用相当于整词匹配
s表示对匹配的行进行替换
[0-9]{2,5}表示替换的源为2~5位数字,为正则表达式
当然,对一些在SHELL里面有特殊含义的字符,要加\转义后传递给sed
'"$new_port"'这里用了SHELL里面一个小技巧,将变量的值传递给了sed,确保将端口替换为22而不是$new_port这个字符串,大家可以试一下将$new_port前后4个引号去掉的效果。
例如,欲替换下面一行中的端口号的值:
<param name="ftpPort">21</param>
可以使用:
new_port="22" sed '/\<ftpPort\>/s/[0-9]\{2,5\}/'"$new_port"'/' old.xml > new.xml
说明:
<和>用于单词边界的匹配,二者连用相当于整词匹配
s表示对匹配的行进行替换
[0-9]{2,5}表示替换的源为2~5位数字,为正则表达式
当然,对一些在SHELL里面有特殊含义的字符,要加\转义后传递给sed
'"$new_port"'这里用了SHELL里面一个小技巧,将变量的值传递给了sed,确保将端口替换为22而不是$new_port这个字符串,大家可以试一下将$new_port前后4个引号去掉的效果。
相关文章推荐
- 配置structs2时需要修改的 web.xml 和 structs.xml 的内容
- shell脚本:修改包含特定内容的多个文件
- Linux用shell修改文件内容
- Android中动态修改string.xml中字符串的内容
- 通过php修改xml文档内容的方法
- 动态更改RDCL的打印参数[修改XML内容]
- 修改tomcat的server.xml文件后,eclipse在某些情况下会自动还原server.xml文件内容
- Manifest.xml中删除了『存储/修改删除SD卡中的内容』和『手机通话/读取手机状态和身份』权限,但生成apk安装软件时仍提示 允许应用程序了解或使用这两个权限
- 修改xml的节点数据内容
- Android动态修改strings.xml中字符串占位符内容
- LINQ To XML:修改结点内容
- Android中动态修改string.xml中字符串的内容
- 修改配置文件内容的shell
- dom4j 修改xml内容
- [libxml2]_[XML处理]_[使用libxml2的xpath特性修改xml文件内容]
- jQuery append xmlNode 修改 xml 内容
- Linux用shell修改文件内容
- 修改default_workspace.xml后,如何显示修改后的内容。
- 通过shell脚本修改xml文件中的某行记录
- jQuery append xmlNode 修改 xml 内容