📅  最后修改于: 2023-12-03 15:21:00.348000             🧑  作者: Mango
在 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
用于替换文本中所有的 hello
为 hi
。
有时候,我们只需要替换文本中的整个单词。可以使用 \<
和 \>
来匹配整个单词。例如,将 hello
替换成 hi
,只要使用如下命令:
:%s/\<hello\>/hi/g
其中:
\<
表示单词的开头\>
表示单词的结尾有时候,我们需要替换多个文件中的文本。可以使用 :args
命令来指定多个文件,然后使用 :argdo
命令来对所有文件执行替换操作。
例如,将文件 test1.txt
和 test2.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
命令来对多个文件执行替换操作。