iWorkのNumbersの表をはてなの表組み記法に変換したいことがあったのでちょっと書いてみた。
input = $stdin.read input.split("\r").each do |s| s.chomp! ary = [nil] + s.split("\t").collect {|x| x.empty? ? ' ' : x} + [nil] puts ary.join('|') end
Safariからバックスラッシュがうまく入るだろうか‥。
クリップボードに入っている文字列の改行マークが\rなところと、空要素のセルを書くと(||みたいなやつ)うまく変換できないところが罠でした。
Numbersで表をコピーして、Terminalでpbpasteコマンドとpbcopyコマンドを使って変換するよ。
% pbpaste | ruby ht.rb | pbcopy