Eu estava examinando a lista de arquivos incluídos no coreutils e consegui encontrar um exemplo de como poderia usar pessoalmente todos os comandos fornecidos, exceto o ptx. Você pode dar um ou dois (ou três) exemplos de uso de PTX? Quanto mais variado for o caso de uso, melhor.
$ apropos ptx
ptx(1) - produce a permuted index of file contents
Responder1
Resposta aceita de @Joseph R.com o histórico é bom, mas vamos ver como ele pode ser usado.
ptx
gera um índice de termos permutados ("ptx") do texto. Um exemplo é mais 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
Abaixo à direita você vê as diferentes palavras da entrada e docontexto da palavra esquerda e direitacercando-os. A primeira palavra é "a". Ocorre na linha um e é seguido por "b" e "c" à sua direita. A segunda palavra é “b”, que ocorre na linha dois com “a” à esquerda e “c” à direita. Finalmente, “c” ocorre na linha três e é precedido 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
compreende a estrutura do texto, em unidades lógicas de palavras e frases. Isso torna a saída contextual ptx
mais relevante ao lidar com texto em inglês do que grep.
Vamos comparar ptx
e grep
, usando o primeiro parágrafo do livro de James EllroyTablóide 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.
Aqui está grep
(com as correspondências de cores alteradas manualmente para serem cercadas 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.
Aqui 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.
Como grep
é orientado por linhas e este parágrafo é todo de uma linha, a grep
saída não é tão concisa ou útil quanto a saída de ptx
.
Responder2
Aparentemente, antigamente era usado para indexar o manual de referência do Unix.
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:
Livros compostos de muitas seções curtas com seus próprios títulos descritivos, principalmente coleções de páginas de manual, muitas vezes terminavam com uma seção de índice permutada, permitindo ao leitor encontrar facilmente uma seção por qualquer palavra de seu título. Essa prática não é mais comum.
Mais pesquisas revelam os artigos restantes nas Referências, que explicam mais sobre como as páginas man do Unix usavam um índice permutado. Parece que o principal problema com o qual eles estavam lidando é que as páginas de manual não tinham numeração contínua.
Pelo que entendi, a prática de usar um índice permutado agora é misteriosa e obsoleta.
Referências
Responder3
Você pode achar esta coleção de exemplos interessante:
Responder4
Você pode ver um exemplo (antigo) de índice permutado onlineaqui (Clique no link Índice permutado no quadro superior esquerdo).
Como alguém mencionou, isso não é mais comum devido aos recursos dos mecanismos de pesquisa e dos aplicativos de pesquisa personalizados.