/ usr / bin / ptx: Você pode fornecer um caso de uso ou dois?

20

Eu estava passando pela lista de arquivos incluídos no coreutils e consegui dar um exemplo de como eu poderia usar pessoalmente todos os comandos fornecidos, exceto o ptx. Você pode dar um ou dois (ou três) exemplos de uso do ptx? Quanto mais variado o caso de uso, melhor.

$ apropos ptx
ptx(1)         - produce a permuted index of file contents
    
por dfc 28.09.2013 / 06:13

5 respostas

10

Aparentemente, ele foi usado para indexar o manual de referência do Unix nos tempos antigos.

Nas Referências abaixo, o artigo da Wikipedia explica o que é um índice permutado (também chamado de KWIC, ou "Palavra-chave no contexto") e termina com o enigmático:

Books composed of many short sections with their own descriptive headings, most notably collections of manual pages, often ended with a permuted index section, allowing the reader to easily find a section by any word from its heading. This practice is no longer common.

Mais pesquisas revelam os artigos restantes nas Referências, que explicam mais sobre como as páginas man do Unix usaram um índice permutado. Parece que a principal questão com a qual eles estavam lidando é que as man pages não tinham numeração contínua.

Pelo que eu entendi, a prática de usar um índice permutado é agora arcaica e obsoleta.

Referências

por 30.09.2013 / 21:06
5

Você pode encontrar esta coleção de exemplos interessantes:

Correspondência de padrões e Permuted Term Indexing com ferramentas de linha de comando no Linux

    
por 14.02.2014 / 12:32
2

A resposta aceita de @Joseph R. com a história é boa, mas vamos ver como isso pode ser usado.

ptx gera um índice de termos permutados ("ptx") do texto. Um exemplo é mais fácil de entender:

$ ptx -A -w 25 <<< $'a\nb\nc'
:1:            a b c
:2:        a   b c
:3:      a b   c

Na direita, você vê as diferentes palavras da entrada e o contexto da palavra esquerda e direita ao redor delas. A primeira palavra é "a". Ocorre na linha um e é seguido por "b" e "c" à direita. A segunda palavra é "b", que ocorre na linha dois com "a" à esquerda e "c" à direita. Finalmente, "c" ocorre na linha três e é processado por "a" e "b".

Usando isso, você pode encontrar o número da linha e as palavras ao redor de qualquer palavra em um texto. Isso soa muito como grep , hein? A diferença é que ptx entende a estrutura do texto, em unidades lógicas de palavras e sentenças. Isso torna a saída contextual de ptx mais relevante ao lidar com o texto em inglês do que com o grep.

Vamos comparar ptx e grep , usando o primeiro parágrafo do Tabloide americano de James Ellroy :

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

Este é o grep (com as correspondências de cores alteradas manualmente para ficar entre // ):

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

Aqui está o 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.

Como grep é orientado à linha, e este parágrafo é uma linha, a saída grep não é tão concisa ou útil quanto a saída de ptx .

    
por 21.10.2016 / 23:12
1

Você pode ver um exemplo (antigo) de um índice online aqui (Clique no link do índice Permutado no quadro superior esquerdo).

Como alguém mencionou, isso não é mais comum por causa dos recursos dos mecanismos de pesquisa e dos aplicativos de pesquisa personalizados.

    
por 21.03.2015 / 21:10
1

Também conhecido como concordância. E eles ainda são relevantes e bastante úteis. Um bom exemplo é identificar rapidamente versículos bíblicos quando você só conhece algumas palavras. Outro exemplo seria a indexação de todos os sonetos de Shakespeare para permitir pesquisa rápida semelhante por palavra-chave.

    
por 22.07.2016 / 00:44