我有一个文件,每行都有一个命令。在命令中有一条始终为P0......xml
的行。我想将P0....
附加到每行的末尾,前面是>>
运算符,最后是.log
。
例如, 如果命令如下所示:
abcdefg hijkl mno P0qrstuv.xml wxyz abc
我想成功:
abcdefg hijkl mno P0qrstuv.xml wxyz abc >> P0qrstuv.log
请尽可能准确地解释您的答案。
答案 0 :(得分:2)
一种解决方案是在Ex模式下使用substitute命令。这应该做到。
:%s/\v(P0.+\.xml).*/& >>\1.log/
:
会让您进入Ex模式
%
对整个文件采取行动
s
执行替换
\v
指明正则表达式会非常神奇#34;而不是常规的vim正则表达式。
(P0.+\.xml)
将文件分组为文件名
&
插入匹配的内容
\1
插入第一个分组(如果你有多个你可以做的\ 2 \ 3等)。