oinume journal

Scratchpad of what I learned

Shellで配列のマージ

Shellスクリプトで配列のマージってどうやるんだろうって思ったので調べてみたら、${ARRAY[*]} か ${ARRAY[@]} で配列の要素を全部取得できるらしいので、それを () 使ってマージすればいいらしい。

 

 

#!/bin/sh

 

ARRAY1=(1.1.1.1 2.2.2.2)

ARRAY2=(3.3.3.3 4.4.4.4)

ARRAY3=(4.4.4.4 5.5.5.5)

 

MERGED=(${ARRAY1[*]} ${ARRAY2[*]} ${ARRAY3[*]})

 

for n in ${MERGED[*]}; do

echo $n

done

 

を実行すると

 

1.1.1.1

2.2.2.2

3.3.3.3

4.4.4.4

4.4.4.4

5.5.5.5

 

となる。重複してる値はもちろんケアしてくれないので、頑張って取り除く必要あり。