Linux: 使用sed 修改k-v配置文件

版权声明:本文为博主原创文章,未经博主允许不得转载,除非给本座进贡糖葫芦~ https://blog.csdn.net/kimqcn4/article/details/83993428
#修改
sed -i 's/db.type = FileDB/db.type = MySQL/g' $config_file

#增加
sed -i '47a\dataSource.driverClassName = com.mysql.jdbc.Driver' $config_file
sed -i '48a\dataSource.url = jdbc:mysql://127.0.0.1:3306/db?characterEncoding=UTF-8&useUnicode=true&autoReconnect=true' $c
onfig_file
sed -i '49a\dataSource.username = root' $config_file
sed -i '50a\dataSource.password = password' $config_file

#回车换行符处理
sed -i 's/\r//g' $config_file

 

或者做成脚本函数:

参考:https://lihaoquan.me/2018/11/12/shell-set-kv-on-config.html?utm_source=tuicool&utm_medium=referral

CONF=test.conf

set_key_value() {
    local key=${1}
    local value=${2}
    if [ -n $value ]; then
        #echo $value
        local current=$(sed -n -e "s/^\($key = \)\([^ ']*\)\(.*\)$/\2/p" $CONF) # value不带单引号
        if [ -n $current ];then
            echo "setting $CONF : $key = $value"
            value="$(echo "${value}" | sed 's|[&]|\\&|g')"
            sed -i "s|^[#]*[ ]*${key}\([ ]*\)=.*|${key} = ${value}|" ${CONF}
        fi
    fi
}

set_key_value "fsync" "off"

猜你喜欢

转载自blog.csdn.net/kimqcn4/article/details/83993428