La risposta accettata da @Joseph R. con la storia è buona, ma diamo un'occhiata a come potrebbe essere usata.
ptx
genera un indice dei termini permutati ("ptx") dal testo. Un esempio è più semplice da capire:
$ 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
In basso a destra vengono visualizzate le parole diverse dall'input e il contesto di parole sinistra e destra che le circonda. La prima parola è "a". Si verifica sulla prima riga ed è seguito da "b" e "c" alla sua destra. La seconda parola è "b", che si presenta sulla riga due con "a" alla sua sinistra e "c" alla sua destra. Infine, "c" si verifica sulla riga tre ed è seguito da "a" e "b".
Usando questo, puoi trovare il numero di riga e le parole circostanti a qualsiasi parola in un testo. Sembra molto grep
, eh? La differenza è che ptx
comprende la struttura del testo, in unità logiche di parole e frasi. Questo rende l'output contestuale diptx
più rilevante quando si tratta di testo inglese rispetto a grep.
Confrontiamo ptx
e grep
, usando il primo paragrafo del tabloid americano di 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.
Ecco grep
(con le corrispondenze di colore modificate manualmente per essere circondate da //
):
$ 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.
Ecco 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.
Poiché grep
è orientato alla linea e questo paragrafo è tutto su una riga, l' grep
output non è altrettanto conciso o utile come l'output di ptx
.