中野智文

中野智文(VOYAGE GROUP)のコンピュータなどのメモ

apacheのログをtsv形式にするsplitの正規表現とワンライナー

2011-03-02 14:14:32 | ruby
apacheのログはダブルクォートがあったり、かぎかっこ[]があったりと色々と面倒である。これをsplitの正規表現で表すと、"([^"]+)"|(\[[^\]]+\])|(\S+となる。これはダブルクォートは外してある。この場合、空白文字が残ってしまうので、reduce([]){|s,e|(e==" ")?s:s+[e]}で除去し、また最初を取り除くため、[1..-1]を追加する必要がある。実際 . . . 本文を読む