在行尾搜索并附加文本

时间:2014-02-19 05:29:24

标签: vim

我有一个文件,每行都有一个命令。在命令中有一条始终为P0......xml的行。我想将P0....附加到每行的末尾,前面是>>运算符,最后是.log

例如, 如果命令如下所示:

abcdefg hijkl mno P0qrstuv.xml wxyz abc

我想成功:

abcdefg hijkl mno P0qrstuv.xml wxyz abc >> P0qrstuv.log

请尽可能准确地解释您的答案。

1 个答案:

答案 0 :(得分:2)

一种解决方案是在Ex模式下使用substitute命令。这应该做到。

:%s/\v(P0.+\.xml).*/& >>\1.log/

:会让您进入Ex模式

%对整个文件采取行动

s执行替换

\v指明正则表达式会非常神奇#34;而不是常规的vim正则表达式。

(P0.+\.xml)将文件分组为文件名

&插入匹配的内容

\1插入第一个分组(如果你有多个你可以做的\ 2 \ 3等)。