如何使用vi全局删除搜索模式后的行?

kra*_*erz 5 linux vi

假设我有一个大文件,大约 1k 行,我需要某种模式后删除该行,我们称之为:somePatern.

状况:

  • 无法手动完成(不搜索 --/somePattern和/或手动向下移动一行并删除)。
  • 最好是单层。
  • 包含模式的行之后的行必须消失(没有空行)
  • 必须与 UNIX 兼容(我使用 Debian,但需要在 UNIX 上使用它——如果两者都适用,那就太好了)

另外,如果有人有一个网站的链接,我可以在那里学习这个以及更多很棒的正则表达式!(但不是初学者类型的啧啧,我已经放下了,礼貌vimtutor和其他人。)

小智 9

g/somepattern/+d

在下面的例子中,baz 被移除了。(不过我只用 Vim 验证过。)

foo     
bar 
somepattern 
baz 
someotherpattern
Run Code Online (Sandbox Code Playgroud)