我的文件中有类似的内容,我想更改一些值
我的档案资料
variable "my_vnets" {
default = {
transit_vnet = {
name = "dummy"
cidr = "11.1.1.1.1."
is_transit = false
}
spoke1_vnet = {
name = "dummy2"
cidr = "1.1.1.1.1"
is_transit = false
}
}
}
预期产量
variable "my_vnets" {
default = {
transit_vnet = {
name = "NewName"
cidr = "11.1.1.1.1."
is_transit = true
}
spoke1_vnet = {
name = "NewName2"
cidr = "2.2.2.2"
is_transit = false
}
}
}
我正在尝试这样的事情,但没有运气
sed -i "s/\"my_vnets\" { default = \"""\" }/\"my_vnets\" { default = \""NewName"\" }/g"
通常,应避免使用无结构意识的工具来编辑结构化文件。但是,如果没有用于解析和生成此格式的结构化工具,请考虑以下内容:
sed -r -e '/^[[:space:]]+name[[:space:]]+=/ { s/dummy/NewName/; }' \
-e '/transit_vnet = [{]/,/[}]/ { s/is_transit = false/is_transit = true/; }'
...替换dummy
与NewName
只在开始的行name =
; 并is_transit = false
用is_transit = true
只有经过匹配transit_vnet = {
和匹配之前}
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句