Estou tentando manipular um fluxo TCP usando o gawk. O servidor TCP transmite uma cadeia de texto separada por espaços em branco.
Eu quero adicionar uma seqüência extra no início e, em seguida, separar os campos restantes com vírgulas em vez de espaços em branco.
Eu tentei como abaixo:
socat TCP4:127.0.0.1:8888 - | gawk '{out=""; for(i=1;i<=NF;i++){if (i > 1) {out=out","$i} else out="Hello,"$i}; print out}'
que está funcionando. Mas agora eu quero redirecionar esse fluxo para fora em um segundo soquete como abaixo:
socat TCP4:127.0.0.1:5754 PIPE gawk '{out=""; for(i=1;i<=NF;i++){if (i > 1) {out=out","$i} else out="$LZER0,POS,"$i}; print out}' | socat - TCP:127.0.0.1:9999
Mas nada em 127.0.0.1:9999 Eu tentei ouvir com:
socat tcp-listen: 9999, reuseaddr, ignoreeof, stdout do garfo
mas nada.
Eu fiz outro teste:
socat TCP4:127.0.0.1:5754 PIPE gawk '{out=""; for(i=1;i<=NF;i++){if (i > 1) {out=out","$i} else out="$LZER0,POS,"$i}; print out}' | socat - -
mas novamente nada na minha stdout.
Você pode me ajudar?