使用vi编辑器,我想替换第三次出现的":"每一行到":1:"。什么是正确的搜索和替换命令?
由于
答案 0 :(得分:1)
那将是
%s/^\([^:]*:[^:]*:[^:*]\):\(.*\)/\1:1:\2/
其中
%
表示所有行;
s
是替换命令;
/\([^:]*:[^:]*:[^:*]\):\(.*\)/
匹配任意数量(包括零)非冒号的三个以冒号分隔的序列,从行的开头开始,后跟冒号和行的其余部分,捕获之前的所有内容和所有内容在第三次结肠后;和
/\1:1:\2/
(其中主斜杠也是模式的尾部斜线)是替换字符串,\1
和\2
分别代表第一个和第二个捕获的组,并且:1:
是文字文字。