实用脚本:索引程序与统计脚本解析
在编程世界中,有许多实用的脚本程序能帮助我们解决各种问题。本文将详细介绍主索引程序中的一些有趣细节,以及一系列由 Usenet 用户贡献的实用脚本。
主索引程序的细节
主索引程序在处理索引条目时,会遇到各种问题,下面我们来看看它是如何解决这些问题的。
隐藏特殊字符
在input.idx脚本中,需要对索引条目进行标准化处理。该程序的输入记录由两个用制表符分隔的字段组成:索引条目和页码。冒号被用作指示索引条目各部分的语法的一部分。为了让字面意义上的冒号能通过程序,我们允许索引器在输入中指定两个连续的冒号。但由于主索引调用的其他程序模块会读取由三个冒号分隔的字段,所以不能简单地将两个连续冒号转换为一个冒号,而是使用gsub()函数将其转换为八进制值。
#< from input.idx # convert literal colon to octal value $1 ~ /::/ { # substitute octal value for "::" gsub(/::/, "\\72", $1) }在最后一个程序模块format.idx中,再使用gsub()函数将八进制值转换回冒号。为了避免重新解析字段,我们对每个字段分别进行替换。
#< from format.idx # c