我有一个JSON文件“ appSettings.json”,其中包含以下内容:
{
"Branch": {
"Name": "test"
},
}
我的问题是,在运行bitbucket管道时如何将“ Branch.Name”值设置为其他值?
答案 0 :(得分:1)
在选中this question后将其显示出来。
- apt-get update
- apt-get install -y jq # install jq
- tmp=$(mktemp)
- jq '.Branch.Name = "prod"' appsettings.json > "$tmp" && mv "$tmp" appsettings.json
答案 1 :(得分:0)
您可以使用标准的Bash / Shell命令在文本文件中执行“查找和替换”操作:
sed
sed -i -e 's/"test"/"prod"/g' appSettings.json
# Delete the unwanted backup file, created by sed
if [ -e appSettings.json-e ]
then
rm appSettings.json-e
fi
echo
进行Bash字符串替换如果您需要替换为sed
无法处理的特殊字符,例如“ /”和“ \”,请使用此选项。
file_contents=$(< appSettings.json )
echo "${file_contents//\"test\"/\"prod\"}" > appSettings.json
更多信息和来源:Find and Replace Inside a Text File from a Bash Command