[shell] 配列操作を覚える

サーバーサイドでバッチ処理などをプログラムするにはshellが一番ですが、その中でshellの配列は今どきの言語と違い、連想配列が無かったり、便利な関数が全く無かったりしたので、作業に役立つ覚え書きレベルですが、メモしておきます。
通常操作
## 配列データの作成
1 |
ARR=(“A” “B” “C” “D” “E” “F” “G") |
## 元データ(csvファイルの場合)
1 |
DATA=“A,B,C,D,E,F,G" |
## 「,」で分解して配列化
1 |
ARR=( `echo ${DATA} | tr -s ‘,' ' '`) |
# 0番目を表示
1 2 |
echo $ARR[0] > A |
# 1番目を表示
1 2 |
echo $ARR[1] > B |
# インデックスを付けないと先頭が表示される
1 2 |
echo $ARR > A |
便利サンプル
## 配列の一括表示
1 2 |
echo ${ARR[@]} > A B C D E F G |
## 配列の要素数を表示
1 2 |
echo ${#ARR[@]} > 7 |
## for分を使う
# 内容を取り出す方法
1 2 3 4 |
for i in ${ARR[@]} do echo $i done |
# ナンバリングする方法
1 2 3 4 |
for ((i=0;i< ${#ARR[@]};i++)) do echo ${ARR[$i]} done |
## 配列の要素削除
1 2 3 |
unset ARR[2] > echo ${ARR[@]} > A B D E F G |