LINUX.ORG.RU

bash конкантенация двух строк из массивов или двух выводов команды

 ,


1

3

Как? Нужно сложить в строку два вывода команд, причем каждый вывод представляет собой одномерный массив, а кол-во строк в каждом массиве одинаково.

array_1:
a 
c 
array_2:
b
d
output:
"a relies on b"
"c relies on d"
...
Необходимо только чтобы складываемые строки имели одинаковый порядковый номер в выдаче команд.
Я какую-то херню пишу все с циклами, но если вкладывать один цикл в другой, то вложенный при каждой итерации идёт заново.

количество элементов в массивах одинаково? значит цикл один

quest ★★★★
()
IFS=$'\n'
arr1=( $(command1) )
arr2=( $(command2) )
len=${#arr1[@]}
for (( i = 0; i < len; ++i )); do
    echo "${arr1[$i]} relies on ${arr2[$i]}"
done
shdown
()

paste, join

anonymous
()
Ответ на: комментарий от drunken_train

IFS=$'\n' - перенос не понадобился, остальное всё работает наотлично.

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