第三方库jq
https://stedolan.github.io/jq/manual/
cat old_deploy.json \ | jq --arg cpu_limit $cpu_limit 'setpath(["spec", "template", "spec", "containers", 0, "resources", "limits", "cpu"]; $cpu_limit)' \ | jq --arg memory_limit $memory_limit 'setpath(["spec", "template", "spec", "containers", 0, "resources", "limits", "memory"]; $memory_limit)' \ > new_deploy.json
读取文件文本
while read line do echo "$line" done < /tmp/nginx.yaml
修改文本文件(逐行匹配,替换)
sed -i 's/\("host":"\).*/\1192.168.0.1",/g' rabbitmq.json
cat rabbitmq.json { "rabbitmq": { "ssl": false, "host":"192.168.0.1", , "vhost": "/sensu", "user": "sensu", "password": "sensu" } }