La réponse acceptée de @Joseph R. avec l'historique est bonne, mais regardons comment elle pourrait être utilisée.
ptx
génère un index de terme permuté ("ptx") à partir du texte. Un exemple est plus facile à comprendre:
$ 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
En bas à droite, vous voyez les différents mots de l'entrée et le contexte des mots gauche et droit qui les entoure. Le premier mot est "a". Il se produit sur la première ligne et est suivi de "b" et "c" à sa droite. Le deuxième mot est "b", qui apparaît sur la ligne deux avec "a" à sa gauche et "c" à sa droite. Enfin, "c" apparaît sur la ligne trois et se poursuit par "a" et "b".
En utilisant cela, vous pouvez trouver le numéro de ligne et les mots environnants à n'importe quel mot dans un texte. Cela ressemble beaucoup à grep
, hein? La différence est que l'on ptx
comprend la structure du texte, en unités logiques de mots et de phrases. Cela rend la sortie contextuelle de ptx
plus pertinente lorsqu'il s'agit de texte anglais que grep.
Comparons ptx
et grep
, en utilisant le premier paragraphe du tabloïd américain 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.
Voici grep
(avec des correspondances de couleurs modifiées manuellement pour être entourées de //
):
$ 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.
Voici 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.
Parce qu'il grep
est orienté ligne et que ce paragraphe est composé d'une seule ligne, la grep
sortie n'est pas aussi concise ou utile que la sortie de ptx
.