[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[@]}”を使用しているのは配列の要素数を表示する為である。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

*