vim编辑器中的正则表达式

时间:2014-06-04 11:19:00

标签: regex shell vim

我的文件中有这么多行

xid: SC2152 id: artf24841

我想把它改成这样的

SC2152,artf24841

请帮助

2 个答案:

答案 0 :(得分:1)

您可以使用此替换命令:

:s/ id: /,/

答案 1 :(得分:1)

因此,您要删除xid:前缀,并用逗号替换id:。你可以这两种方式:

首先删除,然后替换

:%s/xid: //
:%s/ id: /,/

捕获并重新组装

:%s/xid: \(.*\) id: \(.*\)/\1,\2/

这使用捕获组来选择要保留的行的部分(\(...\))。在替换部分中,组内容通过\1\2插入。任何匹配但未捕获的东西都会丢失;新的逗号分隔符放在替换中。


这一切都是非常基本的东西,值得掌握。阅读:help :substitute,或者按照网络上的几个vi / Vim教程之一进行操作。