搜索和删除多行
发布时间:2020-12-15 09:18:28 所属栏目:安全 来源:网络整理
导读:在vim :g/George Bush/d 删除所有行与乔治·布什。 如果我想删除下面从乔治·布什开始的5行怎么办? 另一个现实的例子是在log4net日志中找到所有DEBUG,并删除直到堆栈跟踪结束(我知道将在其下面另外10行) :global命令是你的朋友 – 学习得很好。它允许你运
在vim
删除所有行与乔治·布什。 如果我想删除下面从乔治·布什开始的5行怎么办? 另一个现实的例子是在log4net日志中找到所有DEBUG,并删除直到堆栈跟踪结束(我知道将在其下面另外10行)
:global命令是你的朋友 – 学习得很好。它允许你运行任意:ex命令在每一行匹配正则表达式。它缩写为:g。
要删除与“George Bush”匹配的所有行: :g/George Bush/ d 后面的命令可以有自己的地址/范围前缀,它将相对于匹配的行。所以删除第5行后乔治·布什: :g/George Bush/ .+5 d 要删除DEBUG日志条目: :g/DEBUG/ .,+10 d 如果你知道堆栈跟踪是可变长度,但总是在空白行(或其他正则表达式)结束: :g/DEBUG/ .,/^$/ d 你也可以在不匹配的每一行上执行一个命令:g!例如在不包含“吮吸”一词的每一行上用“奥巴马”代替“布什”: :g!/sucks/ s/Bush/Obama/ 默认命令是打印消息窗口的行。例如以列出标记为TODO的每一行: :g/TODO 这也有助于检查正则表达式匹配您预期之前,你做一些破坏性的行。 您可以使用“|”链接多个命令。例如改变布什到奥巴马和乔治到巴拉克每行不包含“吮吸”: :g!/sucks/ s/Bush/Obama/g | s/George/Barack/g (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |