Answers:
显然,它是过去用来索引Unix参考手册的索引。
在下面的参考中,Wikipedia文章解释了什么是置换索引(也称为KWIC或“上下文中的关键字”),并以暗号结尾:
由许多具有自己的描述性标题的短小节组成的书,最著名的是手册页的集合,通常以排列的索引节结尾,从而使读者可以轻松地从标题中的任何单词中找到一个节。这种做法不再常见。
通过更多搜索,可以找到参考书中的其余文章,它们更多地解释了Unix手册页如何使用置换索引。他们要处理的主要问题似乎是手册页没有连续编号。
据我所知,使用置换索引的做法现在是不可思议的和过时的。
参考文献
@Joseph R.对历史的公认答案是好的,但让我们看一下它的用法。
ptx
从文本生成排列的词项索引(“ ptx”)。一个例子最容易理解:
$ cat input
a
b
c
$ ptx -A -w 25 input
:1: a b c
:2: a b c
:3: a b c
^^^^ ^ ^^^^-words to the input's right
| +-here is the actual input
+-words to the input's left
在右下方,您会看到来自输入的不同单词以及围绕它们的左右单词上下文。第一个单词是“ a”。它出现在第一行,其右边是“ b”和“ c”。第二个单词是“ b”,它出现在第二行,左侧是“ a”,右侧是“ c”。最后,“ c”出现在第三行,并以“ a”和“ b”开头。
使用此功能,您可以找到文本中任何单词的行号和周围的单词。这听起来很像grep
,是吗?区别在于ptx
以单词和句子的逻辑单位理解文本的结构。这使得ptx
在处理英文文本时,上下文输出比grep更相关。
让我们使用James Ellroy的《美国小报》的第一段进行比较ptx
和:grep
$ cat text
America was never innocent. We popped our cherry on the boat over and looked back with no regrets. You can’t ascribe our fall from grace to any single event or set of circumstances. You can’t lose what you lacked at conception.
这是grep
(颜色匹配项已手动更改为//
):
$ grep -ni you text
1:America was never innocent. We popped our cherry on the boat over and looked back with no regrets. /You/ can’t ascribe our fall from grace to any single event or set of circumstances. /You/ can’t lose what /you/ lacked at conception.
这里是ptx
:
$ ptx -Afo <(echo you) text
text:1: /back with no regrets. You can’t ascribe our fall/
text:1: /or set of circumstances. You can’t lose what you/
text:1: /. You can’t lose what you lacked at conception.
因为grep
是面向行的,并且此段全是一行,所以grep
输出不如的输出那么简洁或没有帮助ptx
。