我试图根据标签
将给定的字符串分成数组start-tag <BookMsg> end-tag </BookMsg>
string="<BookMsg><Book><Chapter><Line>AAAA</Line></Chapter></Book></BookMsg><BookMsg><Book><Chapter><Line>BBBB</Line></Chapter></Book></BookMsg><BookMsg><Book><Chapter><Line>CCC</Line></Chapter></Book></BookMsg>"
请注意,它的长字符串没有换行。
预期结果:
MessageARRAY[0]= <BookMsg><Book><Chapter><Line>AAAA</Line></Chapter></Book></BookMsg>
MessageARRAY[1]= <BookMsg><Book><Chapter><Line>BBBB</Line></Chapter></Book></BookMsg>
MessageARRAY[2]= <BookMsg><Book><Chapter><Line>CCCC</Line></Chapter></Book></BookMsg>
我尝试使用以下方法:
echo $string > book.xml
IFS=$'\n'
MessageARRAY=($(grep -A 3 '<bookMsg>' ~/book.xml | awk '{printf "%s",$0} $0~"</bookMsg>" {print}'))
不幸的是,-a选项不适用于solaris中的grep。
任何人都可以指导我在Solaris 10上实现结果吗?