.strsub

.strsub <source> <replacement> file [file ...]

.strsub 命令用于在一个或多个文本文件中执行基本的字符串替换。系统扫描目标文件以查找 <source> 字符串;如果发现匹配项,系统会将 <source> 字符串替换为 <replacement>。.strsub 命令则可替换各文件中每行上的字符串(source)的每个实例。

.strsub 命令在所有操作系统上都可以运行,并不依赖于服务器上可以使用的任何特定命令。

要替换文件 about.c 中的字符串 _VERSION_,请使用类似以下内容的命令:
.strsub _VERSION_ 2.34 about.c
必须严格指定一个或多个文件名,不得使用通配符。 例如,如下命令将失败:
.strsub _VERSION_ 2.34 *.txt
但是,可在此命令中使用变量,因此,如果环境中定义了 VERSION 和 FILENAME 变量,那么可运行如下命令。
.strsub _VERSION_ ${VERSION} ${FILENAME}
注: 请在命令中使用空格来分隔参数。
.strsub 命令类似于 .edit 命令,两者的区别是:

.edit 命令缺省情况下使用 POSIX 扩展正则表达式语法。如果通过 Perl 兼容的正则表达式支持编译了代理程序,那么替换表达式会后跟“p”字符(表示应改用 PCRE 语法)。

在这两种情况下,表达式通过代理程序处理解释两次。因此,在通常使用一个反斜杠的地方都应使用四个反斜杠。例如:
Four slashes escape a literal period:
\\\\.
或者,也可以使用 /x 标志而不使用反斜杠:
.strsub/x

反馈