vi编辑文件,需要把文中从21行到30行中所有的“/usr/local”改为“/root”怎么实现?

在Vi或Vim编辑器中,要将文件中从第21行到第30行中所有的“/usr/local”改为“/root”,你可以使用范围限定的替换命令。具体步骤如下:

  1. 打开你的文件,比如说vim filename

  2. 确保你处于命令模式(如果你正在插入模式中,按Esc键退出到命令模式)。

  3. 输入以下命令:

    :21,30s/\/usr\/local/\/root/g
    

    然后按回车键执行。

这个命令的组成部分解释如下:

  • :21,30:指定命令作用的行范围,从第21行到第30行。
  • s:表示替换操作。
  • /\/usr\/local/:指定要被替换的文本。由于路径中包含/字符,需要用\对其进行转义,以避免与替换命令中的分隔符混淆。
  • /\/root/:指定替换文本。同样,路径中的/需要转义。
  • g:表示全局替换标志,对选定行范围内的每一行,将所有匹配的文本进行替换。如果省略此标志,则每行只替换第一个匹配项。

执行此命令后,文件中第21行到第30行中所有出现的“/usr/local”都将被替换为“/root”。