aix에서 구분 기호를 사용하여 같은 줄에서 여러 메시지 읽기

aix에서 구분 기호를 사용하여 같은 줄에서 여러 메시지 읽기

구분 기호로 구분된 한 줄에 작성된 여러 메시지를 읽어야 합니다 AIX.

메시지는 다음과 같이 구분됩니다.

Message1#@#@#Message2#@#@#Message3#@#@#Message4

구분 기호는 입니다 #@#@#. 메시지를 하나씩 읽고 별도의 변수나 배열에 저장하고 싶습니다. 쉘 스크립트를 사용하고 있습니다.

답변1

사용 awk:

$ awk -F '#@#@#' '{ for (i=1; i<=NF; ++i) printf("This is message %d: %s\n", i, $i) }' file
This is message 1: Message1
This is message 2: Message2
This is message 3: Message3
This is message 4: Message4

이는 입력 필드 구분 기호를 로 설정한 #@#@#다음 각 입력 줄에 대해 해당 필드를 반복하여 해당 필드를 개별적으로 인쇄합니다.

관련 정보