csvを読み込むシェルスクリプト
テスト用として以下の区切り文字が「,」で、項目が3つあるcsvファイルを用意しました。
$ cat test.csv 1,apple,100 2,orange,80 3,nashi,150 4,grape,300 5,meron,500
シェルスクリプトの説明
whileでcsvファイルの内容を一行づづ読み込み、cutコマンドの-dオプションで区切り文字として「,」を指定、-fオプションで抜き出す項目を指定してそれぞれ変数に格納しています。
#!/usr/bin/bash CSVDATA=test.csv while read LINE do column1=$(echo $LINE | cut -d , -f 1) column2=$(echo $LINE | cut -d , -f 2) column3=$(echo $LINE | cut -d , -f 3) echo "$column2の値段は$column3です。" done < $CSVDATA
今回はechoで変数column2とcolumn3に格納した内容を表示させていますので、実行結果は以下のようになります。
$ bash ./csv_read.sh appleの値段は100です。 orangeの値段は80です。 nashiの値段は150です。 grapeの値段は300です。 meronの値段は500です。
cutコマンドで指定する区切り文字は「,」以外ににも「:」など他の区切り文字を指定することができるので、ファイルの内容によって適宜変更することができます。
コメント