当前位置:  开发笔记 > 编程语言 > 正文

带负匹配的正则表达式(即查找_doesn't_匹配正则表达式的字符串)

如何解决《带负匹配的正则表达式(即查找_doesn't_匹配正则表达式的字符串)》经验,为你挑选了2个好方法。

我有一个日志文件,在某些行上有字符串"ERROR".我想删除没有 ERROR的每一行,以便我可以看到需要修复的内容.我打算在vim中执行以下操作:

%S /!(错误)//

用空字符串替换非错误行.

我不相信标准的正则表达式可以做到这一点,但也许我错了......



1> too much php..:

使用该:g!命令删除不匹配的每一行.

:g!/ERROR/d


`:v/ERROR/d`是等价的

2> Greg Hewgill..:

在vim中,您可以对缓冲区中的文本运行任何过滤器命令.例如,

:%!grep ERROR

将仅使用与给定正则表达式匹配的行替换整个缓冲区.

这不仅仅是有用的grep,例如,您可以使用缓冲区对行进行排序:%!sort.或者,您可以使用V命令标记块然后对任何范围的文本执行相同操作:!filter-command(然后vim会自动填写'<,'>以指示当前标记的块).

推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有