Provided by:
manpages-zh_1.5.1-2_all 
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@users.sourceforge.net>
[2004/02/28
Linuxanhttp://cmpp.linuxforum.net