如何在连续行中为我的vi编辑器添加前缀?

时间:2018-05-11 00:59:39

标签: linux sed editor vi

我的输入:

Test1.txt 
a
a
b
b
c
c

预期结果应为

  

chown user:user a

     

chmod 755 a

     

chown user:user b

     

chmod 755 b

     

chown user:user c

     

chmod 755 c

请为单个文档中的10k +行建议最好的方法。 基本上为同一路径添加2个不同的前缀命令(一个接一个地重复两次)

提前致谢

1 个答案:

答案 0 :(得分:1)

如果你的文件是

a
a
b
b
c
c

您可以使用vi命令

:%s/^\(.*\)\n\(.*\)/chown user:\1\rchmod 755 \2/g

如果整个文件都遵循该格式。

使用分组。 \n匹配新行,\r插入换行符。

或者如果包含文件名且文件类似

Test1.txt 
a
a
b
b
c
c

使用

:2,$s/^\(.*\)\n\(.*\)/chown user:\1\rchmod 755 \2/g