/usr/bin/ptx:您能提供一兩個用例嗎?

/usr/bin/ptx:您能提供一兩個用例嗎?

我正在瀏覽 coreutils 中包含的文件列表,並且能夠想出一個範例來說明我如何個人使用 ptx 之外提供的所有命令。你能舉出一兩個(或三個)使用 ptx 的例子嗎?用例越多樣化越好。

$ apropos ptx
ptx(1)         - produce a permuted index of file contents

答案1

@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

在右側,您可以看到輸入中的不同單字和左右詞上下文圍繞著他們。第一個字是「一」。它出現在第一行,其右側緊跟著“b”和“c”。第二個字是“b”,出現在第二行,左邊為“a”,右邊為“c”。最後,「c」出現在第三行,後面是「a」和「b」。

使用它,您可以找到文本中任何單字的行號和周圍的單字。這聽起來很像grep,是嗎?不同之處在於ptx理解文本的結構、單字和句子的邏輯單元。這使得ptx處理英文文本時的上下文輸出比 grep 更相關。

讓我們使用 James Ellroy 的第一段來比較ptxgrep美國小報:

$ 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

答案2

顯然,它在過去被用來索引 Unix 參考手冊。

在下面的參考文獻中,維基百科文章解釋了排列索引是什麼(也稱為 KWIC,或「上下文中的關鍵字」),並以神秘的結尾:

由許多帶有自己的描述性標題的小節組成的書籍,尤其是手冊頁的集合,通常以排列索引部分結尾,使讀者可以通過標題中的任何單詞輕鬆找到該節。這種做法已不再常見。

更多搜尋揭示了參考文獻中的其餘文章,這些文章詳細解釋了 Unix 手冊頁如何使用排列索引。他們處理的主要問題似乎是手冊頁沒有連續編號。

據我所知,使用排列索引的做法現在已經變得神秘且過時了。

參考

答案3

答案4

您可以看到在線排列索引的(舊)範例這裡 (點擊左上角框架中的排列索引連結)。

正如其他人所提到的,由於搜尋引擎和自訂搜尋應用程式的功能,這種情況不再常見。

相關內容