用vim替换文件中含有指定关键字的那些行中的字符
现在有一个文件aa.txt,内容如下:
[root@server2 ~]# cat aa.txt
aaaaaaaaaaa 11
bbbbbbbbbbbb bb 11
c 11 cc
[root@server2 ~]#
现在想把结尾是11的那些行最后的换行符替换成 空格.
使用vim编辑打开aa.txt之后,在末行模式输入%g/11$/s/\n/ /g
这里%表示全文。
这段 g/11$/
g表示开始匹配指定的行,哪些行呢?由g后面的//里指定。这里写的是11$,表示以11结尾的那些行。
这段s/\n/ /g
s表示替换,把那些行的换行符(\n表示)换成" "即替换成空格。
最终的效果是
aaaaaaaaaaa 11 bbbbbbbbbbbb bb 11
c 11 cc
当然要删除最后的换行符,可以写成%g/11$/s/\n//g 。