问题描述
我正在像这样进行一些端口转发:
socat tcp-listen:8000,reuseaddr,fork tcp:localhost:9000
数据为ASCII。 每条线均以CR / LF端接。 我有标题和结尾字符串,我想将所有传递的字符串包装在其中。
示例:
(标题是“开始”,而尾部是“,结束”)
用户发送“ ABC
socat发送“开始,ABC,结束
有什么可能的吗?
解决方法
Socat可以通过管道通过awk输入的每一行都是这样的:
socat TCP-L:8000,reuseaddr,fork,nodelay SYSTEM:"gawk -f my.awk|socat - TCP\:iq\:9000"
my.awk:
{
print "start," $1 ",end\n";
fflush()
}
感谢socat的作者Gerhard。