I have two arrays A and B. I want to combine them into a new array C, which is their Cartesian product:
A=( 0 1 )
B=( 1 2 )
# Desired output:
C=( 0:1 0:2 1:1 1:2 )
I tried:
for ((z = 0; z <= ${#A[@]}; z++)); do
for ((y = 0; y <= ${#B[@]}; y++)); do
C[$y + $z]="${A[$z]}:"
C[$y + $z + 1]="${B[$y]}"
done
done
But that outputs:
0: : : :
I expected 0:1 0:2 for A = ( 0 ) and B = ( 1 2 ).