MATCH1.MATCH2 {
always same MATCH3
}
所有三个MATCH
必须匹配。
输入:
foo.bar {
always same bus
}
1.2 {
always same 3
}
a.b {
always same c
}
i.ii {
always same iii
}
b.2 {
always same c
}
1.2 {
always same b
}
假设我想删除1
,2
和3
MATCH 条目(从名称到右花括号}
)
输出:
foo.bar {
always same bus
}
a.b {
always same c
}
i.ii {
always same iii
}
b.2 {
always same c
}
1.2 {
always same b
}
我尝试过多种方法,sed
但没有一种能让我接近目标:
sed "/$match1\.$match2/{/$match3//d;}" ./input
sed "/^$match1\.$match2 {/,/^always same $match3/d" ./input
# ...
我最纠结的是,有两行需要匹配。我试过在中间添加\n
和 ,.*
但没成功。
以下是我通过仅匹配第一行来删除条目的方法,如果有帮助的话:
sed "/^$match1\.$match2 {/,/^}/d" ./input # no match3