Добавление строки или символа к выводу терминала

Добавление строки или символа к выводу терминала

Мне нужно запустить команду в терминале, чтобы непрерывно получать входящие сообщения из других мест сети. Я не могу контролировать формулировку длины сообщения. Однако команда может получать и печатать одно полное сообщение за раз (и я также не могу контролировать эту команду).

Моя задача — переслать этот поток сообщений на локальный порт. Приложение, прослушивающее этот порт, будет далее обрабатывать сообщения. Вот в чем проблема: мне нужно установить буфер приема в приложении (скажем, 1024 байта) и, как следует из протокола TCP (как это широко обсуждалосьздесь), сообщения просто проходят не в своем оригинале chunk. И длина сообщения может быть непостоянной (как мой пример ниже)

Я хочу добавить один специальный символ в начале и в конце сообщения, которое выдает команда, чтобы обработать их на другой стороне. Вот более конкретный пример:

На терминале я запускаю эту команду;

mycommand | tee | netcat localhost 2003    

Эта команда получает сообщения в их исходных фрагментах и ​​пересылает их на порт 2003:

action_1_timestamp_2021_6_09_10_34_23_abort
action_2_timestamp_2021_6_09_10_34_34_success
...
action_193848_timestamp_2021_6_23_10_34_23_hold

Как мне обернуть каждую строку выше следующим образом:

<action_1_timestamp_2021_6_09_10_34_23_abort>

до того, как он будет передан netcat localhost 2003. Я не очень хорошо знаком с bash-скриптингом.

Связанный контент