Merging two arrays in Bash

后端 未结 5 1671
梦如初夏
梦如初夏 2020-12-13 13:39

I have the following situation, two arrays, let\'s call them A( 0 1 ) and B ( 1 2 ), i need to combine them in a new array C ( 0:1 0:2 1:1 1:2 ), the latest bit i\'ve come u

5条回答
  •  长情又很酷
    2020-12-13 14:33

    Since Bash supports sparse arrays, it's better to iterate over the array than to use an index based on the size.

    a=(0 1); b=(2 3)
    i=0
    for z in ${a[@]}
    do
        for y in ${b[@]}
        do
            c[i++]="$z:$y"
        done
    done
    declare -p c   # dump the array
    

    Outputs:

    declare -a c='([0]="0:2" [1]="0:3" [2]="1:2" [3]="1:3")'
    

提交回复
热议问题