シェルワンライナー160本ノック問題70
問題70 Excel方眼紙
問題のファイルは
https://github.com/shellgei/shellgei160
からダウンロードできる。
あの忌まわしいExcel方眼紙を作る問題だった。そもそもCSVにおけるエスケープ処理をわかっていなかった。
解答例は
cat excel_hogan.txt | sed 's/./&_/g' | sed 's/"/""""/g' | sed 's/,/","/g' | tr _ ,| nkf -sLwx > hoge.csv
となる。ダブルクォートはフィールドの値のエスケープ処理に使う記号だが、それ自身を表示したいときはダブルクォートを2つ並べてそれをさらにダブルクォートで囲ってやる必要がある。