터미널 출력에 문자열 또는 문자 추가

터미널 출력에 문자열 또는 문자 추가

네트워크의 다른 곳에서 들어오는 메시지를 계속해서 받으려면 터미널에서 명령을 실행해야 합니다. 나는 메시지 길이의 공식화를 통제할 수 없습니다. 그러나 이 명령은 한 번에 하나의 전체 메시지를 수신하고 인쇄할 수 있습니다(또한 이 명령을 제어할 수 없습니다).

내 임무는 이 메시지 스트림을 로컬 포트로 전달하는 것입니다. 해당 포트를 수신하는 앱은 메시지를 추가로 처리합니다. 문제는 다음과 같습니다. 앱에서 수신 버퍼(예: 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 스크립팅에 익숙하지 않습니다.

관련 정보