Pair corresponding elements of 2 arrays to single element in new array
USAGE: pair arrayname1 arrayname2 arrayname3 sep::
pair() { local a1=${1:?Array name required} a2=${2:?Array name required} local j=${3:?Array name required} sep=${4:-:} b1 b2 new
Store both arrays in local arrays
eval "b1=( \"\${$a1[@]}\" )" eval "b2=( \"\${$a2[@]}\" )" num=$(( ${#b1[@]} > ${#b2[@]} ? ${#b1[@]} : ${#b2[@]} )) n=-1 while [ $(( n += 1 )) -lt $num ] do new+=( "${b1[n]}$sep${b2[n]}" ) done
Copy array into $j
eval "$j=( \"\${new[@]}\" )" }