[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.csv
anonymous-MacBook-Pro:$ ./test5.sh
行:アイウエオ,かきくけこ,さしすせそ
項目数:3
二番目の値:かきくけこ
行:太刀つてと,何ぬねの,らりるれろ
項目数:3
二番目の値:何ぬねの
行:かきくけこ,は皮膚へ報告,太刀つてと
項目数:3
二番目の値:は皮膚へ報告
出力結果は想定どおり。ここで”${#arrays[@]}”を使用しているのは配列の要素数を表示する為である。
コメントを残す