UNIX/Linux:vi/vim执行搜索和替换操作

时间:2020-01-09 10:44:05  来源:igfitidea点击:

问题描述:我刚刚安装了CentOS Linux服务器,并开始使用vi文本编辑器对配置文件进行更改。
如何使用vi/vim文本编辑器执行搜索和替换操作?

答:vi(vim)并不难学,vi编辑器是众所周知的,可用于编写代码和编辑配置文件。

VI搜索和替换命令格式

简单格式如下:%s/old-string/new-string /

VI搜索和替换命令示例

假设您要查找一个名为foo的单词并替换为bar。

首次按下[Esc]

输入(冒号),然后输入%s/foo/bar /,然后按[Enter]键。

:%s/foo/bar/

上面的命令将在所有行上用bar替换单词foo的首次出现。

%是所有行的简写。

要用所有行上的bar代替foo单词的所有出现,请使用g选项(指示一行上的所有出现)。

:%s/foo/bar/g

请注意,可以用数字1,2,N替换g,以仅更改每行的第n个出现次数。

使用查找和替换行范围(按行号匹配)

您还可以在行的范围内进行更改,即仅在第5到20行上用bar替换首次出现的foo,然后执行:

:5,20s/foo/bar/

以下命令将从当前行开始的bar替换首次出现的foo,用于接下来的100行:

:.,+100s/foo/bar/

文字匹配

最后,您可以按单词匹配,即从包含单词test的下一行开始用bar替换首次出现的foo:

:/test/s/foo/bar/g

与往常一样,您可以指定范围:

:/test/,/guest/s/foo/bar/g

请注意,所有搜索/替换命令均应仅以[[ESC]:]击键组合开头。