Manpages

NAME

subst - 替 換 文 件 中 的 定 義

總 覽 (SYNOPSIS)

subst [ -e editor ] -f substitutions victim ...

描 述 (DESCRIPTION)

Subst 能 夠 替 換 文 件 的 內 容 , 適 用 於 針 對 本 地 情 況 定 製 軟 件 . 它 根 據 substitutions 的 內 容 , 修 改 每 一 個 victim 文 件 . 在 substitutions 文 件 中 , 每 個 替 換 說 明 (substitution) 佔 用 一 行 . 每 一 行 包 含 兩 個 域 , 用 一 個 或 多 個 tab 符 隔 開 . 第 一 個 域 是 替 換 說 明 的 名 字 (name), 第 二 個 域 是 它 的 值 (value). 兩 者 均 不 應 該 包 含 ’’#’’ 字 符 ; 而 使 用 文 本 編 輯 器 的 轉 義 符 , 如 ’’&’’ 和 ’’\’’, 也 是 不 明 智 地 ; 名 字 最 好 限 制 在 字 母 和 數 字 中 ; 以 ’’#’ 開 始 的 行 是 註 釋 , 將 被 忽 略 . 在 victim 文 件 中 , 每 一 個 需 要 替 換 的 行 (目 標 行 ) 必 須 跟 在 原 形 行 (prototype line) 後 面 . 原 形 行 應 該 有 這 樣 的 限 制 : 將 來 其 他 程 序 處 理 這 個 文 件 的 時 候 , 它 被 視 爲 註 釋 . 原 形 行 必 須 包 含 目 標 行 的 "原 形 ", 該 "原 形 " 用 ’’=()<’’ 和 ’’>()=’’ 括 起 來 , 這 一 行 的 其 他 內 容 都 被 忽 略 掉 . Subst 將 分 析 這 個 原 形 , 尋 找 替 換 說 明 中 名 字 域 的 所 有 實 例 , 名 字 實 例 是 用 ’’@<’’ 和 ’’>@’’ 括 起 來 的 , 把 它 們 改 變 成 對 應 的 值 , 然 後 用 這 個 結 果 替 換 目 標 行 .

選 項 (OPTIONS)

-e 替 換 操 作 由

sed(1) 編 輯 器 完 成 , 它 必 須 放 在 /bin/usr/bin

目 錄 下 面 . 用 ’’-e’’ 開 關 可 以 指 定 一 個 不 同 位 置 的 執 行 程 序 .

示 例 (EXAMPLE)

如 果 substitutions 文 件 內 容 是

FIRST 111

SECOND

222 而victim 文 件 是

x = 2;
/* =()<y = @<FIRST>@ + @<SECOND>@;>()= */
y = 88 + 99;
z = 5; 那 麼’’subst -f substitutions victim’’ 命 令 把 victim 改 變 成 :

x = 2;
/* =()<y = @<FIRST>@ + @<SECOND>@;>()= */
y = 111 + 222;
z = 5;

文 件 (FILES)

victimdir/substtmp.new

建 立 出 來 的 新 版 本 文 件

victimdir/substtmp.old

經 過 改 名 的 老 版 本 文 件

另 見 (SEE ALSO)

sed(1)

診 斷 (DIAGNOSTICS)

如 果 subst 無 法 創 建 臨 時 文 件 , 或 者 臨 時 文 件 已 經 存 在 , 程 序 中 止 並 報 錯 .

歷 史 (HISTORY)

Henry Spencer 寫 於 U of Toronto.

Rich $alz 在 1991 年 7 月 增 加 了 ’’-e’’ 選 項 .

BUGS

當 創 建 準 備 用 subst 處 理 的 文 件 時 , 很 容 易 忘 記 在 原 形 行 後 面 插 入 一 個 要 命 的 目 標 行 ; 如 果 你 忘 了 目 標 行 , subst 最 終 會 刪 掉 原 形 行 下 面 一 行 , 不 管 那 行 是 什 麼 .

[中 文 版 維 護 人 ]

徐 明 <xuming [AT] users.net>

[中 文 版 最 新 更 新 ]

2004/02/28

《 中 國 Linux論 壇 man手 冊 頁 翻 譯 計 劃 》

http://cmpp.linuxforum.net

本 頁 面 中 文 版 由 中 文 man 手 冊 頁 計 劃 提 供 。 中 文 man 手 冊 頁 計 劃 : https://github.com/man-pages-zh/manpages-zh