fish

fish-shellでcsv読み込み

More than 1 year has passed since last update.

fish-shellでカンマでsplitを行うには
string split , $var
でおこなうことができる

以下のcsvがあったとすると

syukujitsu_utf8.csv
国民の祝日月日,国民の祝日名称
2016-01-01,元日
2016-01-11,成人の日
2016-02-11,建国記念の日
2016-03-20,春分の日
2016-04-29,昭和の日
2016-05-03,憲法記念日
2016-05-04,みどりの日
2016-05-05,こどもの日
...
csv_read.fish
for line in (cat syukujitsu_utf8.csv)
  set -l syuku (string split , $line)
  echo "$syuku[1]は$syuku[2]です"
end
$ fish csv_read.fish
国民の祝日月日は国民の祝日名称です
2016-01-01は元日です
2016-01-11は成人の日です
2016-02-11は建国記念の日です
2016-03-20は春分の日です
2016-04-29は昭和の日です
2016-05-03は憲法記念日です
2016-05-04はみどりの日です
2016-05-05はこどもの日です
2016-07-18は海の日です
....

下の書き方でもいける

while read -l line
  set -l syuku (string split , $line)
  echo "$syuku[1]は$syuku[2]です"
end < syukujitsu_utf8.csv