.strsub

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

在一或多個文字檔中使用 .strsub 指令來執行基本字串取代。系統會掃描 <source> 字串的目標檔;如果找到相符項,系統就會以 <replacement> 來取代 <source> 字串。.strsub 指令會取代每個檔案中,每一行的每個字串實例(原始檔)。

.strsub 指令可跨作業系統運作,且伺服器上不需要有任何可用的特定指令。

如果要取代 about.c 檔中的 string _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

意見