我有以下格式的字符串:
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”,但是当我尝试进行数组拆分时,它们被解释为换行符。因此,典型的字符串拆分 withIFS
不起作用。
例如:
$ read -a ARRAY <<< "$STRING"
$ echo "${#ARRAY[@]}" # print number of elements
2
$ echo "${ARRAY[0]}"
I'mnNednNederla
$ echo "${ARRAY[1]}"
der