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