在尝试使用ed来删除特定模式周围的线条时,我一直在驾驶我的自我。
我想要做的是匹配一个模式,然后删除它周围的线条。
我尝试了几种变体
ed test.txt <<<< $'/pattern/-1,+1d\nwq'
ed test.txt <<<< $'(/pattern/-1,+1)d\nwq'
ed test.txt <<<< $'/pattern/-,+1d\nwq'
ed test.txt <<<< $'(/pattern/-,+1)d\nwq'
ed test.txt <<<< $'/pattern/-,+d\nwq'
ed test.txt <<<< $'(/pattern/-,+)d\nwq'
其中没有一个有效。怎么做?
答案 0 :(得分:2)
在处理第二个地址之前,使用分号VerifyOTPActivity
将设置当前行;
。
这使得第二个地址相对于第一个地址,这几乎是你想要的:
.
因为第二个地址是相对于第一个地址而不是相对于模式,所以我们必须使用+2来解决模式之前和之后的行。
(请注意,/pattern/-;+2d
是/pattern/-
)
答案 1 :(得分:1)
我经过多次试验和错误后想出来了,虽然我似乎无法找到任何可以告诉我的文件。似乎每个行引用必须是一个单独的模式匹配引用,因此诀窍是给模式两次。
ed test.txt <<<< $'/pattern/-,/pattern/+d\nwq'