/ usr / bin / ptx: Können Sie einen oder zwei Anwendungsfälle angeben?


20

Ich habe die Liste der in coreutils enthaltenen Dateien durchgesehen und konnte ein Beispiel dafür finden, wie ich persönlich alle bereitgestellten Befehle außer ptx verwenden konnte. Können Sie ein oder zwei (oder drei) Beispiele für die Verwendung von ptx nennen? Je vielfältiger der Anwendungsfall, desto besser.

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

Antworten:


10

Anscheinend wurde es in früheren Zeiten verwendet, um das Unix-Referenzhandbuch zu indizieren.

In den nachstehenden Quellenangaben erklärt der Wikipedia-Artikel, was ein permutierter Index ist (auch als KWIC oder "Schlüsselwort im Kontext" bezeichnet) und endet mit dem Kryptischen:

Bücher, die aus vielen kurzen Abschnitten mit eigenen beschreibenden Überschriften bestehen, insbesondere aus Sammlungen von Handbuchseiten, die häufig mit einem permutierten Indexabschnitt enden, sodass der Leser einen Abschnitt anhand eines beliebigen Wortes aus seiner Überschrift leicht finden kann. Diese Praxis ist nicht mehr üblich.

Weitere Informationen finden Sie in den Artikeln in den Referenzen, in denen erläutert wird, wie die Unix-Manpages einen permutierten Index verwendet haben. Es scheint, dass das Hauptproblem, mit dem sie sich befassten, darin bestand, dass die Manpages keine fortlaufende Nummerierung hatten.

Soweit ich weiß, ist die Praxis der Verwendung eines permutierten Indexes jetzt veraltet und veraltet.

Verweise



5

Die akzeptierte Antwort von @Joseph R. mit der Historie ist gut, aber schauen wir uns an, wie sie verwendet werden könnte.

ptxgeneriert aus text einen permutierten term index ("ptx"). Ein Beispiel ist am einfachsten zu verstehen:

$ 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

Unten rechts sehen Sie die verschiedenen Wörter aus der Eingabe und den sie umgebenden Kontext für das linke und rechte Wort . Das erste Wort ist "a". Es tritt in Zeile 1 auf und wird von "b" und "c" zu seiner Rechten gefolgt. Das zweite Wort ist "b", das in Zeile zwei mit "a" links und "c" rechts davon vorkommt. Schließlich kommt "c" in Zeile drei vor und wird von "a" und "b" fortgesetzt.

Auf diese Weise können Sie die Zeilennummer und die umgebenden Wörter zu jedem Wort in einem Text finden. Das klingt sehr nach grep, oder? Der Unterschied besteht darin, dass ptxdie Struktur von Text in logischen Einheiten von Wörtern und Sätzen verstanden wird. Dies macht die kontextbezogene Ausgabe von ptxbei englischen Texten relevanter als grep.

Vergleichen wir ptxund grepverwenden wir den ersten Absatz von James Ellroys amerikanischem Tabloid :

$ 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.

Hier ist grep(mit Farbübereinstimmungen, die manuell geändert wurden, um von umgeben zu sein //):

$ 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.

Hier ist 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.

Da grepdieser Absatz zeilenorientiert ist und nur aus einer Zeile besteht, ist die grepAusgabe nicht ganz so präzise oder hilfreich wie die Ausgabe von ptx.


1
Dies ist offensichtlich die Antwort auf die Frage.
Bite Bytes

1

Sie können hier ein (altes) Beispiel eines online permutierten Index sehen (Klicken Sie auf den Link Permutierter Index im oberen linken Rahmen).

Wie bereits erwähnt, ist dies aufgrund der Funktionen von Suchmaschinen und benutzerdefinierten Suchanwendungen nicht mehr üblich.


1

Auch als Konkordanz bekannt. Und sie sind immer noch relevant und sehr nützlich. Ein gutes Beispiel ist das schnelle Erkennen von Bibelverse, wenn Sie nur wenige Wörter kennen. Ein weiteres Beispiel wäre die Indizierung aller Shakespeare-Sonette, um eine ähnliche schnelle Suche nach Schlüsselwörtern zu ermöglichen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.