У меня есть строка в следующем формате:
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