shell脚本新增或修改hadoop的xml配置文件
2016-05-11 23:14
676 查看
shell自动化部署组件的时候对文件字符串处理配置文件的需求比较大,部署hadoop处理如下格式xml的量是非常多的:
以下是新增或者修改yarn.resourcemanager.ha.rm-ids节点的值
<property>
<name>yarn.resourcemanager.ha.rm-ids</name>
<value>rm1,rm2</value>
</property>
以下是新增或者修改yarn.resourcemanager.ha.rm-ids节点的值
#!/bin/bash
filename="/hadoop-2.7.1/etc/hadoop/yarn-site.xml"
key="yarn.resourcemanager.ha.rm-ids"
value="rm1,rm2"
key=${key//\//\\/}
key=${key//\./\\.}
key=${key//\:/\\:}
value=${value//\:/\\:}
value=${value//\//\\/}
value=${value//\./\\.}
regex="<name>\s*${key}\s*<\/name>"
#echo "$regex"
grep -q "$regex" $filename&&isExist="yes"||isExist="no"
if [ $isExist = "yes" ];then
regex2="(${regex}\n*\s*<value>).*?(<\/value>)"
sed -i -r '/'"${regex}"'/{N;s/'"${regex2}"'/\1'"${value}"'\2/g}' $filename
#sed -i -r '/'"${regex}"'/{N;s/'"${regex2}"'/'"${value}"'/g}' $filename
fi
if [ $isExist = "no" ];then
sed -i 's/^<\/configuration>/<property>\n<name>'"${key}"'<\/name>\n<value>'"${value}"'<\/value>\n<\/property>\n&/' $filename
fi
相关文章推荐
- 通过shell脚本修改xml文件中的某行记录
- shell修改配置文件脚本
- hadoop基础----hadoop实战(十二)-----Hadoop配置修改和配置文件同步脚本
- 修改hadoop的core-site.xml的配置文件不需重启也生效了
- shell脚本修改配置文件中的内容
- shell脚本修改配置文件指定行的值
- 用shell脚本删除相同修改时间的文件
- shell脚本读取ini配置文件的值
- Hadoop小兵笔记【一】Hadoop安装过程中core-site.xml,hdfs-site.xml,mapred-site.xml配置文件详解
- VB scrpit 修改配置文件(读写XML)
- linux批量修改文件字符集shell 脚本
- 环境配置就是安装软件,修改软件的配置文件,安装软件就是文件的复制,与新增--linux下一切皆文件
- android4.4 Launcher3 修改配置文件default_workspace.xml无效的解决方法
- shell脚本实现的修改文件中的字符串(转)
- quartz配置文件quartz_***.xml报错及修改方法
- shell脚本下载安装mfs分布式文件系统,批量修改默认配置文件名
- Hadoop 2.2.0配置文件:hdfs-default.xml
- android4.4 Launcher3 修改配置文件default_workspace.xml无效的解决方法
- Heritrix1.14源码分析(3) 修改配置文件order.xml加快你的抓取速度
- hadoop配置文件: hdfs-site.xml, mapred-site.xml