rubyでcsvを扱うのにcsvライブラリが便利です。
エスケープ処理まで考えると、単純に文字列を split(",") するわけにはいかないので。
自分的には csv よりも tsv の方が好きなので、csv ファイルは tsv にしてから処理します。
というわけで、csv ライブラリのサンプルとして tsv に変換するプログラムです。
row は CSV::Cell の配列です。
標準入力から csv を読み込む場合には、CSV::IOReader を使います。
エスケープ処理まで考えると、単純に文字列を split(",") するわけにはいかないので。
自分的には csv よりも tsv の方が好きなので、csv ファイルは tsv にしてから処理します。
というわけで、csv ライブラリのサンプルとして tsv に変換するプログラムです。
#!/usr/local/bin/ruby
require 'csv'
CSV.open(ARGV[0], 'r') do |row|
print(row.join("\t") + "\n")
end
row は CSV::Cell の配列です。
標準入力から csv を読み込む場合には、CSV::IOReader を使います。
#!/usr/local/bin/ruby
require 'csv'
CSV::IOReader.new(STDIN).each do |row|
STDOUT.print(row.join("\t") + "\n")
end