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