/ usr / bin / ptx: Можете ли вы предоставить вариант использования или два?


20

Я просматривал список файлов, включенных в coreutils, и смог найти пример того, как я мог лично использовать все предоставленные команды, кроме ptx. Можете ли вы привести один или два (или три) примера использования ptx? Чем разнообразнее сценарий использования, тем лучше.

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

Ответы:


10

Очевидно, он использовался для индексации Справочного руководства по Unix в древние времена.

В приведенных ниже ссылках статья Wikipedia объясняет, что такое перестановочный индекс (также называемый KWIC или «ключевое слово в контексте») и заканчивается загадочным:

Книги, состоящие из множества коротких разделов с собственными описательными заголовками, в частности, сборников справочных страниц, часто заканчиваются разделом перестановочного индекса, что позволяет читателю легко найти раздел по любому слову из его заголовка. Эта практика больше не распространена.

Дальнейший поиск показывает оставшиеся статьи в «Справочниках», которые объясняют, как справочные страницы Unix использовали перестановочный индекс. Кажется, главная проблема, с которой они имели дело, состоит в том, что страницы man не имели непрерывной нумерации.

Из того, что я понял, практика использования перестановочного индекса теперь загадочна и устарела.

Ссылки



5

Принятый ответ @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.

Давайте сравним 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.


1
Это, очевидно, ответ на вопрос.
Bite Bytes

1

Вы можете увидеть (старый) пример онлайнового пермутированного индекса здесь (нажмите на ссылку «Пермутированный индекс» в верхнем левом фрейме).

Как уже упоминал кто-то, это больше не распространено из-за возможностей поисковых систем и пользовательских поисковых приложений.


1

Также известный как согласие. И они по-прежнему актуальны и довольно полезны. Хорошим примером является быстрое определение стихов из Библии, когда вы знаете только несколько слов. Другим примером может быть индексирование всех сонетов Шекспира, чтобы обеспечить похожий быстрый поиск по ключевому слову.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.