我有一个字符串,格式如下:
I'm\nNed\nNederlander
I'm\nLucky\nDay
I'm\nDusty\nBottoms
我想将这个逐行移动到一个字符串数组中,使其如下:
$ echo "${ARRAY[0]}"
I'm\nNed\nNederlander
$ echo "${ARRAY[1]}"
I'm\nLucky\nDay
$ echo "${ARRAY[2]}"
I'm\nDusty\nBottoms
然而,我在字符串本身中遇到了"\n"字符的问题。它们在字符串中表示为两个不同的字符,反斜杠和 'n',但当我尝试使用数组拆分时,它们被解释为换行符。因此,使用 IFS
进行典型的字符串拆分将无法正常工作。
例如:
$ read -a ARRAY <<< "$STRING"
$ echo "${#ARRAY[@]}" # print number of elements
2
$ echo "${ARRAY[0]}"
I'mnNednNederla
$ echo "${ARRAY[1]}"
der