如何在 socat 数据前添加或附加字符串?

How to prepend or append strings to socat data?

我正在做一些这样的端口转发:

socat tcp-listen:8000,reuseaddr,fork tcp:localhost:9000

数据为 ASCII。 每行都是 CR/LF 终止的。 我有 header 和尾部字符串,我想将任何传递的字符串包装在其中。

示例:

(header 是“开始”,预告片是“,结束”)

用户发送“ABC

socat 发送“start,ABC,end

有可能吗?

Socat 可以像这样通过 awk 输入每行:

socat TCP-L:8000,reuseaddr,fork,nodelay SYSTEM:"gawk -f my.awk|socat - TCP\:iq\:9000"

my.awk:

{
print "start,"  ",end\n";
fflush()
}

感谢 socat 作者 Gerhard。