gpt4 book ai didi

linux - 如何在 ed 中使用带有模式的相对行号

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:00:10 28 4
gpt4 key购买 nike

在尝试使用 ed 删除特定模式周围的线条时,我一直在逼自己发疯TS.

我想做的是匹配一个模式,然后删除它周围的行。

我尝试了几种变体

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'

这些都不起作用。它是怎么做到的?

最佳答案

使用分号 ;,将在处理第二个地址之前设置当前行 .。这使得第二个地址相对于第一个地址,这几乎就是您想要的:

/pattern/-;+2d

因为第二个地址是相对于第一个地址的,而不是相对于模式的,所以我们必须使用 +2 来寻址模式之前和之后的行。

(注意 /pattern/-/pattern/-1 的简写)

关于linux - 如何在 ed 中使用带有模式的相对行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7424831/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com