3

私は4つの配列を持っています:

ARRAY1=( A B C D )
ARRAY2=( E F G )
ARRAY3=( H I J K L M )
ARRAY4=( N )

これらの要素を含む新しい配列を取得したい方法:

FINAL_ARRAY=( ARRAY1 A ARRAY1 B ARRAY1 C ARRAY1 D ARRAY2 E ARRAY2 F ARRAY2 G ARRAY3 H ARRAY3 I ARRAY3 J ARRAY3 K ARRAY3 L ARRAY3 M ARRAY4 N )

これは、ある種の for ループまたは BASH の他の方法を使用して実行できますか?

ありがとう。

4

1 に答える 1

8
#!/bin/bash
ARRAY1=( A B C D )
ARRAY2=( E F G )
ARRAY3=( H I J K L M )
ARRAY4=( N )
ARRAYNAMES=(ARRAY1 ARRAY2 ARRAY3 ARRAY4)
for an in "${ARRAYNAMES[@]}"; do
    aref="$an[@]"
    for item in "${!aref}"; do
        NEWARRAY=("${NEWARRAY[@]}" "$an" "$item")
    done
done
echo "${NEWARRAY[@]}"

出力:

ARRAY1 A ARRAY1 B ARRAY1 C ARRAY1 D ...
于 2013-06-05T00:35:52.613 に答える