Estou usando socat
para interceptar mensagens UDP e enviá-las para um pipe nomeado:
socat UDP-LISTEN:9999,fork PIPE:/tmp/mypipe,append
Eu sou capaz de seguir esse tubo e ver todas as mensagens que ele recebe.
Eu gostaria de canalizar a saída de tail -f /tmp/mypipe
para sed
fazer algum pós-processamento das mensagens, mas infelizmente algumas delas não são terminadas por nova linha. Isso é um problema porque significa que várias mensagens UDP distintas podem estar na mesma linha e também porque tail -f /tmp/mypipe | sed ...
não passa a última linha se não for terminada.
Idealmente, eu gostaria de poder adicionar um delimitador de mensagens personalizado à medida que elas são enviadas ao meu pipe, para que eu possa encontrar facilmente os limites da mensagem. Se isso não for possível, existe alguma maneira de seguir esse arquivo e canalizar a linha final (potencialmente não terminada) para outro programa para pós-processamento?