sortie pipe de la commande “script” _without_ buffering

Je capture une sortie de session de terminal (en utilisant la commande “script”) pour tester. La commande de script fonctionne bien, obtient tout ce que vous voulez, même les sous-shells et les sessions de connexion à distance. Cependant, il serait vraiment utile de savoir QUAND les choses se sont passées, donc j’aimerais avoir un horodatage sur chaque ligne de la sortie du script. Malheureusement, le script n’utilise pas stdout (pour des raisons évidentes), je ne peux donc pas simplement le diriger vers, disons, ts. Je ne reconnais également aucune forme du nom de fichier spécial ‘-‘.

Je voudrais faire quelque chose comme ceci:> script |ts > foo Où script ouvrirait “| ts> foo” en tant que fichier, mais y écrirait passerait par ts, qui lui-même serait redirigé vers le fichier foo.

Existe-t-il une syntaxe ou une supercherie de shell pour ce faire? (préférez ksh, pouvez utiliser bash.)

La seule chose que je pouvais trouver était d’utiliser un tube nommé, mais cela peut avoir des problèmes de mise en mémoire tampon et semble vraiment maladroit pour cette utilisation.

BTW j’ai utilisé la commande de script car la capture stdout régulière n’obtient pas toutes les interactions de terminal. Autant que je sache, c’est la seule commande qui fait cela.