vim如何在⾏⾸⾏尾添加字符,如何替换⽂件的字符。sed命令如何替换⽂件的字符,或者在⽂件。。。
⾸先我们介绍有关于vim和sed 共同的参数选择
我们先列举每个代表的意思,下⾯会详细介绍⽤法:
a :新增, a 的后⾯可以接字串,⽽这些字串会在新的⼀⾏出现(⽬前的下⼀⾏)~
c :取代, c 的后⾯可以接字串,这些字串可以取代 n1,n2 之间的⾏!
d :删除,因为是删除啊,所以 d 后⾯通常不接任何咚咚;
i :插⼊, i 的后⾯可以接字串,⽽这些字串会在新的⼀⾏出现(⽬前的上⼀⾏);
s :取代,可以直接进⾏取代的⼯作哩!
再来看我们原始的⽂件样式:
⼀、vim如何在⾏⾸/⾏尾添加字符,如何替换⽂件的字符
1、vim如何在⾏⾸/⾏尾添加字符删除字符
1)⾏⾸/⾏尾添加字符
:%s/^/Y/g 其中%表⽰所有⾏,s表⽰替换,^代表⾏⾸,也可以⽤$代表⾏尾。其中%s 也可以使⽤1,2s替换代表第⼀⾏第⼆⾏进⾏添加,例如1,2s/^/Y/g
举个栗⼦:2,4s/$/#good/g:
2)⾏⾸/⾏尾删除字符
:%s/^.\{n\} // 删除⾏⾸n个字符
其中正则表达式"/^.\{n\}//"中,.表⽰要删除的字符个数,".{n}"表⽰删除n个字符,可⽤n个"."表⽰;
:%s/.\{n\}$// 删除⾏尾n个字符
举个栗⼦:1,3s/.\{4\}$//
2、如何替换⽂件的字符
%s/X/Y/g 其中X代表要被替代的字符,Y代表替换X的字符
g 放在命令末尾,表⽰对搜索字符串的每次出现进⾏替换;不加 g,表⽰只对搜索
字符串的所在⾏⾸次出现进⾏替换;g 放在命令开头,表⽰对正⽂中所有包含搜索字符串的⾏进⾏替换操作。
举个栗⼦:2,3s/test/good/g:
此外:
可以使⽤ # 作为分隔符,此时中间出现的 / 不会作为分隔符,此种⽤法可在c++多⾏注释下使⽤
如何在vim中运行命令⼆、sed 命令直接替换⽂件中的字符
sed是⼀个“⾮交互式的”⾯向字符流的编辑器。能同时处理多个⽂件多⾏的内容,可以不对原⽂件改动,把整个⽂件输⼊到屏幕,可以把只匹配到模式的内容输⼊到屏幕上。还可以对原⽂件改动,但是不会再屏幕上返回结果。
sed命令的语法格式:
sed的命令格式: sed [option] 'sed command' filename
sed的脚本格式:sed [option] -f 'sed script' filename
sed命令的选项(option):
-n :只打印模式匹配的⾏
-e :直接在命令⾏模式上进⾏sed动作编辑,此为默认选项
-f :将sed的动作写在⼀个⽂件内,⽤–f filename 执⾏filename内的sed动作
-r :⽀持扩展表达式
-i :直接修改⽂件内容
结合我们⼀开始提到的选项内表达式,我们现在可以进⾏简单的sed操作。
1)替换⽂件中的字符:
举个栗⼦1:sed -i s/test/good/g test_for_vim_sed //替换⽂件中所有的test为good 并且该操作作⽤于⽂件本⾝。去掉-i 只是将操作结果打印到终端。(保存⽂件名为test_for_vim_sed)
举个栗⼦2:sed -i 1,2cgoodjob test_for_vim_sed //替换⽂件中第⼀第⼆⾏为goodjob,两⾏变⼀⾏
举个栗⼦3:sed -i 1,2agoodjob test_for_vim_sed //在⽂件中第⼀和第⼆⾏的下⼀⾏添加goodjob,总共四⾏。
其中删除⾏⾸和⾏尾元素可以参考vim的⽤法。两者很相似,有关sed的⾼级⽤法可以参考博客:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论