2023年8月3日发(作者:)
Linuxvi全局替换globalreplaceLinux vi 全局替换 global replace语法及命令语法为 :[addr]s/源字符串/⽬的字符串/[option]全局替换命令为::%s/源字符串/⽬的字符串/g最常⽤的全局替换,把cc7799替换成009944,可这样写::%s/cc7799/009944/g参数讲解[addr] 表⽰检索范围,省略时表⽰当前⾏。“1,20” :表⽰从第1⾏到20⾏;“%” :表⽰整个⽂件,同“1,$”;“. ,$” :从当前⾏到⽂件尾;s : 表⽰替换操作[option] : 表⽰操作类型g 表⽰全局替换;c 表⽰进⾏确认p 表⽰替代结果逐⾏显⽰(Ctrl + L恢复屏幕);省略option时仅对每⾏第⼀个匹配串进⾏替换;如果在源字符串和⽬的字符串中出现特殊字符,需要⽤””转义下⾯是⼀些例⼦:将That or this 换成 This or that:%s/(That) or (this)/u2 or l1/将句尾的child换成children:%s/child([ ,.;!:?])/children1/g将mgi/r/abox换成mgi/r/asquare:g/mg([ira])box/s//mg//my1square/g <=> :g/mg[ira]box/s/box/square/g将多个空格换成⼀个空格:%s/ */ /g使⽤空格替换句号或者冒号后⾯的⼀个或者多个空格:%s/([:.]) */1 /g删除所有空⾏:g/^$/d删除所有的空⽩⾏和空⾏:g/^[ ][ ]*$/d在每⾏的开始插⼊两个空⽩:%s/^/> /在接下来的6⾏末尾加⼊.:.,5/$/./颠倒⽂件的⾏序:g/.*/m0O <=> :g/^/m0O— 寻找不是数字的开始⾏,并将其移到⽂件尾部:g!/^[0-9]/m$ <=> g/^[^0-9]/m$将⽂件的第12到17⾏内容复制10词放到当前⽂件的尾部:1,10g/^/12,17t$将chapter开始⾏下⾯的第⼆⾏的内容写道begin⽂件中:g/^chapter/.+2w>>begin:/^part2/,/^part3/g/^chapter/.+2w>>begin:/^part2/,/^part3/g/^chapter/.+2w>>begin|+t$
2023年8月3日发(作者:)
Linuxvi全局替换globalreplaceLinux vi 全局替换 global replace语法及命令语法为 :[addr]s/源字符串/⽬的字符串/[option]全局替换命令为::%s/源字符串/⽬的字符串/g最常⽤的全局替换,把cc7799替换成009944,可这样写::%s/cc7799/009944/g参数讲解[addr] 表⽰检索范围,省略时表⽰当前⾏。“1,20” :表⽰从第1⾏到20⾏;“%” :表⽰整个⽂件,同“1,$”;“. ,$” :从当前⾏到⽂件尾;s : 表⽰替换操作[option] : 表⽰操作类型g 表⽰全局替换;c 表⽰进⾏确认p 表⽰替代结果逐⾏显⽰(Ctrl + L恢复屏幕);省略option时仅对每⾏第⼀个匹配串进⾏替换;如果在源字符串和⽬的字符串中出现特殊字符,需要⽤””转义下⾯是⼀些例⼦:将That or this 换成 This or that:%s/(That) or (this)/u2 or l1/将句尾的child换成children:%s/child([ ,.;!:?])/children1/g将mgi/r/abox换成mgi/r/asquare:g/mg([ira])box/s//mg//my1square/g <=> :g/mg[ira]box/s/box/square/g将多个空格换成⼀个空格:%s/ */ /g使⽤空格替换句号或者冒号后⾯的⼀个或者多个空格:%s/([:.]) */1 /g删除所有空⾏:g/^$/d删除所有的空⽩⾏和空⾏:g/^[ ][ ]*$/d在每⾏的开始插⼊两个空⽩:%s/^/> /在接下来的6⾏末尾加⼊.:.,5/$/./颠倒⽂件的⾏序:g/.*/m0O <=> :g/^/m0O— 寻找不是数字的开始⾏,并将其移到⽂件尾部:g!/^[0-9]/m$ <=> g/^[^0-9]/m$将⽂件的第12到17⾏内容复制10词放到当前⽂件的尾部:1,10g/^/12,17t$将chapter开始⾏下⾯的第⼆⾏的内容写道begin⽂件中:g/^chapter/.+2w>>begin:/^part2/,/^part3/g/^chapter/.+2w>>begin:/^part2/,/^part3/g/^chapter/.+2w>>begin|+t$
发布评论