LINUX.ORG.RU

[bash]Чтение в массив

 


0

1

есть программа, которая на stdout выводит несколько строк, в каждой по 4 числа, разделённых пробелами. как их все считать в один массив.

read -d "что-то" -a VAR
не очень помогло(либо я неосилил)



Последнее исправление: memnek (всего исправлений: 1)

Ответ на: комментарий от GotF

А while read не пойдёт подпроцессом? В том смысле, что в bash2 ваша портянка вобще не работала бы, в новых bash проверять лень.

mky ★★★★★
()
Ответ на: комментарий от mky

> В том смысле, что в bash2 ваша портянка вобще не работала бы

Разве? Подпроцессом while read идёт в идиоме

echo «some data» | while read var; do ...; done

Но это не из-за while, а из-за конвейера.

kim-roader ★★
()
Ответ на: комментарий от kim-roader

>> В том смысле, что в bash2 ваша портянка вобще не работала бы

Да, я ошибся.

Сразу подумал, что в «портянке» конвеер подразумевается, иначе кто будет запускать эту самую программу, дающую по 4 числа в строке в stdout и

«| tr ' ' '\n'», чтобы в элемент массива числа заносились по одному.

mky ★★★★★
()
Ответ на: комментарий от sdio

Да, ступил. Как ни странно, оно работает %)

GotF ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.