zoukankan      html  css  js  c++  java
  • Linux shell修改xml文件

    1. xml文件一般都是key-value形式 , 那么我们需要先定位到key ,再取下一行进行整体替换

    #!/bin/bash
    #需要修改的value的 key
    a=ha.zookeeper.quorum
    #需要修改成的值
    b="node1:2181;node2:2181;node3:2345"
    #文件路径
    file=/home/abby/core-site.xml
    sed -i "/>$a</{n;s#.*#        <value>$b</value>#}" $file

    a= 这个是放key

    b= 这个是放value ,我这里加引号是为了防止需要转义字符

    file= 这个是文件路径

    我的源文件是这样

    <property>
               <name>fs.defaultFS</name>
               <value>hdfs://cluster</value>
         </property>
         <property>
               <name>hadoop.tmp.dir</name>
               <value>/home/abby/hdfs/tmp</value>
         </property>
         <property>
                <name>ha.zookeeper.quorum</name>
            <value>node1:2181;node2:2181;node3:2181</value>
        </property>

    PS:  有时候我们安装zookeeper的时候 , myid 是根据机器不同也有区别

      这时候利用redis 的任何地方访问

      a=`redis-cli -h 192.168.1.X -p 6379 get ip_zk_myid `

      然后放入进去 ,这是一种任何机器获取全局共享变量的一种实现

      可以根据自己的IP , 去redis服务器获取自己想要的配置然后修改

      自动化脚本 .

  • 相关阅读:
    Spring 控制反转容器(Inversion of Control – IOC)
    理解依赖注入(DI
    创建一个简单的Spring应用
    Spring开发环境搭建(Eclipse)
    Spring框架模块
    Spring 框架介绍
    spring教程
    Bulma CSS
    Bulma CSS
    Bulma CSS
  • 原文地址:https://www.cnblogs.com/alpha-cat/p/13094862.html
Copyright © 2011-2022 走看看