端末出力に文字列または文字を追加する

端末出力に文字列または文字を追加する

ネットワーク上の他の場所から継続的に着信メッセージを受信するために、ターミナルでコマンドを実行する必要があります。メッセージの長さの定式化は制御できません。ただし、コマンドは一度に 1 つの完全なメッセージを受信して​​印刷できます (このコマンドも制御できません)。

私の仕事は、このメッセージストリームをローカルポートに転送することです。そのポートをリッスンしているアプリが、さらにメッセージを処理します。ここで問題があります。アプリで受信バッファを設定する必要があります(たとえば1024バイト)。TCPプロトコルは(よく議論されているように)ここ) の場合、メッセージは元の状態のまま送信されませんchunk。また、メッセージの長さは一定ではない場合があります (以下の例のように)

コマンドが吐き出すメッセージの先頭と末尾に特殊文字を 1 つ追加して、反対側で処理できるようにしたいと考えています。より具体的な例を以下に示します。

ターミナルで、このコマンドを実行します。

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 スクリプトにあまり詳しくありません。

関連情報