シェルスクリプトにてCSVファイル内の値を処理に使用する方法です。データベースからエクスポートしたCSVファイルから値を取り出して行う必要がある処理を作成するときに書きました。bashで作成しました。以下の様なCSVファイルがあると想定して項目の値を取得します。

ファイル名:csvFile.csv
1,aaa,bbb,ccc,ddd
2,eee,fff,ggg,hhh

このようなファイルから各項目の値を取り出して、シェルスクリプト内で使用したいときはfor文とcutをうまく組み合わせることで簡単に実現することができました。

スクリプト

CSV_FILE=csvFile.csv

for line in `cat ${CSV_FILE}
do
 colmun1=`echo ${line} | cut -d ',' -f 1` 
 colmun2=`echo ${line} | cut -d ',' -f 2`
 colmun3=`echo ${line} | cut -d ',' -f 3`
 colmun4=`echo ${line} | cut -d ',' -f 4`
 colmun5=`echo ${line} | cut -d ',' -f 5`

 echo "項目1:${colmun1}"
 echo "項目2:${colmun2}"
 echo "項目3:${colmun3}"
 echo "項目4:${colmun4}"
 echo "項目5:${colmun5}"
 echo "行終了"
done

手順としてはまず、for line in csvファイル名を使ってCSVファイルを1行ずつ読み込むループ処理を作成します。
そしてそのループ内で現在行の文字列をcutコマンドを使用して分割します。-dオプションを使用してデリミタ(区切り文字)を指定します。さらに-fコマンドを使用して抽出するフィールドの番号(列)を指定します。
このように処理することで各行の各項目の値を取得することができます。

また、CSVファイルでも各項目がダブルクォーテーションで括られているようなケースで項目値を取り出すには以前書いた記事sedコマンドを使用して文字列からダブルクォーテーションを削除する方法を参考にしていただければすぐにできます。
今回はデータベースから吐いたCSVファイルを使用するために書きましたが、他にも応用が効くと思います。