[A-00028]区切り文字から配列を作成する
Shellで区切り文字から配列を作成する方法を記載。
想定としてCSVファイルを読み込み各行をカンマでsplitして配列を作成するケースを想定する。
CSVファイルが以下の場合だとする。
アイウエオ,かきくけこ,さしすせそ
太刀つてと,何ぬねの,らりるれろ
かきくけこ,は皮膚へ報告,太刀つてと上記のファイルを読み込みして、各行の配列を作成する。上記の場合は各行に3つ値があるので[0-2]のindexを持つことになる。そのうち2番目(index:1)の値のみコンソールに表示してみる。
#!/bin/bash
while read LINE
do
   echo "行:"$LINE
   arrays=(${LINE//,/ })
   echo "項目数:"${#arrays[@]}
   echo "二番目の値:""${arrays[1]}"
done < ./sample.csvanonymous-MacBook-Pro:$ ./test5.sh 
行:アイウエオ,かきくけこ,さしすせそ
項目数:3
二番目の値:かきくけこ
行:太刀つてと,何ぬねの,らりるれろ
項目数:3
二番目の値:何ぬねの
行:かきくけこ,は皮膚へ報告,太刀つてと
項目数:3
二番目の値:は皮膚へ報告出力結果は想定どおり。ここで”${#arrays[@]}”を使用しているのは配列の要素数を表示する為である。
コメントを残す