Я пытаюсь преобразовать вывод команды, как echo -e "a b\nc\nd e"
в массив.Как преобразовать вывод команды в массив по строкам в bash?
X=($(echo -e "a b\nc\nd e"))
расколы вход для каждой новой строки и символ пробела:
$ echo ${#X[@]}
> 5
for i in ${X[@]} ; do echo $i ; done
a
b
c
d
e
Результат должен быть:
for i in ${X[@]} ; do echo $i ; done
a b
c
d e
возможно дубликат [Как создать массив в Баш из переменной команды?] (Http://stackoverflow.com/questions/8750848/how-do-i-create-an-array-in -bash-from-a-command-variable) – Cascabel
Кто-то может найти лучший дубликат; это только самое последнее. Вероятно, этот вопрос задавали десятки раз. – Cascabel