📜  vi 全部替换 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:21:00.348000             🧑  作者: Mango

vi 全部替换 - Shell-Bash

在 Shell-Bash 中,使用文本编辑器 vi 可以非常方便地进行全部替换操作。vi 是一款功能强大的文本编辑器,可用于编辑 Linux 系统中的文本文件。本文将介绍如何在 vi 中进行全部替换操作。

替换单个字符

在 vi 中,用 s/old/new/g 命令可以把每行中的 old 替换成 new

:s/old/new/g

其中:

  • s 表示替换命令
  • / 是分隔符,用于分隔替换命令的各个部分
  • old 表示要被替换的字符串
  • new 表示要替换成的新字符串
  • g 表示全局操作,即将每行中所有的 old 全部替换成 new

例如,将文件 test.txt 中所有的 hello 替换成 hi,可以使用以下代码:

vi test.txt
:%s/hello/hi/g
:wq

其中,:%s/hello/hi/g 用于替换文本中所有的 hellohi

替换整个单词

有时候,我们只需要替换文本中的整个单词。可以使用 \<\> 来匹配整个单词。例如,将 hello 替换成 hi,只要使用如下命令:

:%s/\<hello\>/hi/g

其中:

  • \< 表示单词的开头
  • \> 表示单词的结尾
替换多个文件

有时候,我们需要替换多个文件中的文本。可以使用 :args 命令来指定多个文件,然后使用 :argdo 命令来对所有文件执行替换操作。

例如,将文件 test1.txttest2.txt 中的所有 hello 替换成 hi,可以使用以下代码:

vi test1.txt test2.txt
:args test*.txt
:argdo %s/hello/hi/g | w
:qall

其中:

  • :args test*.txt 命令用于设置 vi 的参数,以便替换多个文件,此处设置使用参数 test*.txt,表示将所有名为 test*.txt 的文件作为参数传给 vi
  • :argdo %s/hello/hi/g | w 命令用于对所有文件执行全部替换操作,并保存文件。
  • :qall 命令用于退出所有文件。
总结

在 Shell-Bash 中,使用 vi 可以非常方便地进行文本替换操作,可以使用 s/old/new/g 命令来替换文本中的所有指定字符串,也可以使用 \<\> 来匹配整个单词。同时,可以使用 :args:argdo 命令来对多个文件执行替换操作。