ひさしぶりにシェルを組んだ
イシュー
- csv にチェックボックスのnameと複数選択項目のvalueが記載されているデータがある
- nameとvalueの関係は1対多なので、同一nameがcsvに並んでいる
- これをname 1に対して、区切り文字;(セミコロン)で連結したvalueのcsvに作り替える
shell
prev_name= join_value= delm= while IFS=, read name value do if (test "$name" != "$prev_name"); then echo $prev_name","$join_value join_value= delm= fi prev_name=$name join_value=${join_value}${delm}${value} delm=\; done < org.csv #last line echo $prev_name","$join_value