/usr/bin/ptx: ¿Puede proporcionar uno o dos casos de uso?

/usr/bin/ptx: ¿Puede proporcionar uno o dos casos de uso?

Estaba revisando la lista de archivos incluidos en coreutils y pude encontrar un ejemplo de cómo podría usar personalmente todos los comandos proporcionados excepto ptx. ¿Puedes dar uno o dos (o tres) ejemplos del uso de ptx? Cuanto más variado sea el caso de uso, mejor.

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

Respuesta1

Respuesta aceptada de @Joseph R.con el historial es bueno, pero veamos cómo podría usarse.

ptxgenera un índice de términos permutados ("ptx") a partir de texto. Un ejemplo es más fácil de entender:

$ 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

Abajo a la derecha ves las diferentes palabras de la entrada y elcontexto de palabra izquierda y derecharodeándolos. La primera palabra es "a". Ocurre en la línea uno y va seguido de "b" y "c" a su derecha. La segunda palabra es "b", que aparece en la línea dos con "a" a la izquierda y "c" a la derecha. Finalmente, "c" aparece en la línea tres y va precedida por "a" y "b".

Con esto, puede encontrar el número de línea y las palabras circundantes de cualquier palabra de un texto. Esto suena mucho a grep, ¿eh? La diferencia es que ptxcomprende la estructura del texto, en unidades lógicas de palabras y oraciones. Esto hace que la salida contextual de ptxgrep sea más relevante cuando se trata de texto en inglés.

Comparemos ptxy grep, usando el primer párrafo del libro de James Ellroy.tabloide americano:

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

Aquí está grep(con coincidencias de colores cambiadas manualmente para estar rodeadas por //):

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

Aquí está 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.

Debido a que grepestá orientado a líneas y este párrafo tiene una sola línea, el grepresultado no es tan conciso ni tan útil como el de ptx.

Respuesta2

Aparentemente, se usaba para indexar el manual de referencia de Unix en la antigüedad.

En las referencias a continuación, el artículo de Wikipedia explica qué es un índice permutado (también llamado KWIC o "palabra clave en contexto") y termina con lo críptico:

Los libros compuestos por muchas secciones breves con sus propios títulos descriptivos, sobre todo colecciones de páginas de manuales, a menudo terminaban con una sección de índice permutada, lo que permitía al lector encontrar fácilmente una sección por cualquier palabra de su título. Esta práctica ya no es común.

Una búsqueda más revela los artículos restantes en las Referencias, que explican más sobre cómo las páginas de manual de Unix usaban un índice permutado. Parece que el problema principal con el que estaban lidiando es que las páginas de manual no tenían una numeración continua.

Por lo que deduzco, la práctica de utilizar un índice permutado es ahora arcana y obsoleta.

Referencias

Respuesta3

Respuesta4

Puede ver un ejemplo (antiguo) de un índice permutado en líneaaquí (Haga clic en el enlace Índice permutado en el marco superior izquierdo).

Como alguien más mencionó, esto ya no es común debido a las capacidades de los motores de búsqueda y las aplicaciones de búsqueda personalizadas.

información relacionada