Imported upstream version 1.5
[manpages-zh.git] / src / man1 / subst.1
blobfc520ae747e0c7243db9f0e342fe35d70c63b740
1 .TH SUBST 1 local
2 .DA 25 Feb 1990
3 .SH NAME
4 subst \- 替换文件中的定义
6 .SH "总览 (SYNOPSIS)"
7 .B subst
9 .B \-e
10 editor
12 .B \-f
13 substitutions
14 victim ...
16 .SH "描述 (DESCRIPTION)"
17 .I Subst
18 能够 替换 文件 的 内容, 适用于 针对 本地情况 定制 软件. 它 根据
19 .I substitutions
20 的 内容, 修改 每一个
21 .I victim
22 文件.
23 .PP
24
25 .I substitutions
26 文件 中, 每个 替换说明(substitution) 占用 一行. 每一行 包含 两个域, 用 
27 一个或多个 tab 符 隔开.
28 第一个 域 是 替换说明 的 \fI名字(name)\fP, 第二个 域 是 它的 \fI值(value)\fP.
29 两者 均不应该 包含 ``#'' 字符; 而使用 文本编辑器 的 转义符, 如 ``&'' 和 ``\e'',
30 也是 不明智地; 名字 最好 限制在 字母和数字 中; 以 ``#' 开始 的 行 是 注释,
31 将被 忽略.
32 .PP
33 在 \fIvictim\fP 文件 中, 每一个 需要 替换 的 行 (\fI目标行\fP) 必须 跟在
34 \fI原形行(prototype line)\fP 后面. 原形行 应该 有 这样 的 限制: 将来 其他 程序
35 处理 这个文件 的 时候, 它 被视为 注释. 原形行 必须 包含 目标行 的 "原形", 该
36 "原形" 用 ``=(\&)<'' 和 ``>(\&)='' 括起来, 这一行 的 其他内容 都被 忽略掉.
37 .I Subst
38 将 分析 这个原形, 寻找 替换说明 中 名字域 的 所有 实例, 名字实例 是用 
39 ``@\&<'' 和 ``>\&@'' 括起来的, 把 它们 改变成 对应的值, 然后 用这个 结果 替换
40 目标行.
42 .SH "选项 (OPTIONS)"
43 .TP
44 .B \-e
45 替换 操作 由
46 .IR sed (1)
47 编辑器 完成, 它 必须 放在
48 .I /bin
49
50 .I /usr/bin
51 目录 下面. 用 ``\-e'' 开关 可以 指定 一个 不同位置 的 执行程序.
53 .SH "示例 (EXAMPLE)"
54 .PP
55 如果 \fIsubstitutions\fP 文件内容 是
56 .PP
57 .RS
58 .nf
59 .ta \w'SECOND'u+4n
60 FIRST   111
61 SECOND  222
62 .fi
63 .RE
64 .PP
65 而 \fIvictim\fP 文件 是
66 .PP
67 .RS
68 .nf
69 x = 2;
70 /* =(\&)<y = @\&<FIRST>\&@ + @\&<SECOND>\&@;>(\&)= */
71 y = 88 + 99;
72 z = 5;
73 .fi
74 .RE
75 .PP
76 那么 ``\fBsubst \-f \fP\fIsubstitutions victim\fP'' 命令 把 \fIvictim\fP 改变成:
77 .PP
78 .RS
79 .nf
80 x = 2;
81 /* =(\&)<y = @\&<FIRST>\&@ + @\&<SECOND>\&@;>(\&)= */
82 y = 111 + 222;
83 z = 5;
84 .fi
85 .RE
86 .SH "文件 (FILES)"
87 .ta \w'\fIvictimdir\fP/substtmp.old'u+4n
88 \fIvictimdir\fP/substtmp.new    建立出来的新版本文件
89 .br
90 \fIvictimdir\fP/substtmp.old    经过改名的老版本文件
92 .SH "另见 (SEE ALSO)"
93 sed(1)
95 .SH "诊断 (DIAGNOSTICS)"
96 如果 subst 无法 创建 临时文件, 或者 临时文件 已经 存在, 程序 中止 并 报错.
98 .SH "历史 (HISTORY)"
99 Henry Spencer 写于 U of Toronto.
101 Rich $alz 在 1991 年 7 月 增加了 ``\-e'' 选项.
103 .SH BUGS
104 当 创建 准备 用 \fIsubst\fP 处理的 文件 时, 很容易 忘记 在 原形行 后面 插入
105 一个 要命的 目标行; 如果 你 忘了 目标行, \fIsubst\fP 最终 会 删掉 原形行 
106 下面一行, 不管 那行 是 什么.
108 .SH "[中文版维护人]"
109 .B 徐明 <xuming@users.sourceforge.net>
110 .SH "[中文版最新更新]"
111 .BR 2004/02/28
112 .SH "《中国Linux论坛man手册页翻译计划》"
113 .BI http://cmpp.linuxforum.net