Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

カンマ区切りの文字列を配列に切り分けて処理する

カンマ区切りで複数行あるテキストファイル...たとえばcsvみたいなものを切り分ける方法です
rubyのsplitみたいな感じで配列に切り分ける方法です

$ head sample.txt 
hoge,huga,piyo
foo,bar,bazz
1,2,3

read -aをwhileでぶん回して配列にツッコみます。
...UNIXタツジンの言によればwhileは使わない方がいいらしいのですが...

$ IFS=","
$ head sample.txt | while read -d ',' -a Words; do printf "%5s + %5s = %5s\n" "${Words[0]}" "${Words[1]}" "${Words[2]}"; done
 hoge +  huga =  piyo
  foo +   bar =  bazz
    1 +     2 =     3

なお、IFSを別の記号にすればTabだろうが@だろうが何でもぶん回せます。