Sed 如何更换几行而不是最后一行

Sed 如何更换几行而不是最后一行,sed,replace,insert,Sed,Replace,Insert,我需要删除单词“WORDA”到WORDB前面最后一个“}”的行。 但之前还有其他“}”。因此,塞德错过了选择 ... WORDA { blah { blahblah ... blahblahblah } } WORDB 0 ... 所以我试图用“WORDB”替换从“WORDA”到“WORDB”,但最后我丢失了“0”。。。结果未插入。。。最后一行全部替换。 (当然,此“0”值可以是任何其他数字。) 结果 ... WORDB ... 但我需要: ... WORDB 0 ...

我需要删除单词“WORDA”到WORDB前面最后一个“}”的行。 但之前还有其他“}”。因此,塞德错过了选择

...
WORDA
{
blah
  {
  blahblah
  ...
  blahblahblah
  }
}
WORDB 0
...
所以我试图用“WORDB”替换从“WORDA”到“WORDB”,但最后我丢失了“0”。。。结果未插入。。。最后一行全部替换。 (当然,此“0”值可以是任何其他数字。)

结果

...
WORDB
...
但我需要:

...
WORDB 0
...
有什么想法吗?

粗糙但有效:

sed '/WORDA/,/WORDB/{/WORDB/!d;}' filename
sed '/WORDA/,/WORDB/{/WORDB/!d;}' filename