【发布时间】:2016-02-04 14:41:45
【问题描述】:
我想删除函数engine "map" { ... "foobar" ... }。
我尝试了很多方法,太难了,因为它最后有空行和'}',分隔符不起作用
mainfunc {
var = "baz"
engine "map" {
func {
var0 = "foo"
border = { 1, 1, 1, 1 }
var1 = "bar"
}
}
}
mainfunc {
var = "baz"
engine "map" {
func {
var0 = "foo"
border = { 1, 1, 1, 1 }
var1 = "foobar"
}
}
}
... # more functions like 'mainfunc'
我试过了
sed '/engine/,/^\s\s}$/d' file
但删除了所有引擎功能,我只需要包含“foobar”的那个,也许一个模式匹配所有内容,甚至换行符,直到 foobar 是这样的:
sed '/engine(.*)foobar/,/^\s\s}$/d' file
有可能吗?
【问题讨论】:
标签: linux bash awk command-line sed