区切り文字で区切られた1行に書き込まれた複数のメッセージを読む必要がありますAIX
。
メッセージは次のように区別されます。
Message1#@#@#Message2#@#@#Message3#@#@#Message4
区切り記号はです#@#@#
。メッセージを1つずつ読み、別の変数や配列に保存したいと思います。シェルスクリプトを使用しています。
答え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
これは入力フィールド区切り文字をに設定し、各入力行#@#@#
に対してそのフィールドを繰り返してそのフィールドを個別に印刷します。