我想知道如何删除以某个字符串12/25/2015开头的所有行,除非它们包含字符串'ApplicationMaster'。我希望不要删除以12/25/2015开头的行。

在sed中,我可以执行此cat file.txt | sed '/^12\/25\/2015/ { /ApplicationMaster/!d },但是在vim中,我无法弄清楚一种通用的说法:“对于与给定正则表达式匹配的所有行,在其上应用此子/删除模式”。

在vim中有等效的方法吗?

最佳答案

使用Vim的一种方法:

:v /ApplicationMaster/ s!\m^12/25/2015.*\n!!


提前否定的另一种方法:

:g -\m^12/25/2015\(.*\<ApplicationMaster\>\)\@!- d

关于vim - vim-删除所有从日期时间开始的不包含类名的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39433294/

10-10 00:27
查看更多