Hatena Blog Tags

LTSV

(ウェブ)
えるてぃえすぶい

概要

LTSVとは、Labeled Tab-serapated Valuesの略で、TSV(Tab-separated Values)の拡張である。

説明

  • 各レコードは改行で区切られる
  • レコード内の各フィールドはタブで区切られる
  • フィールドは、ラベルと値に:(コロン)で区切られる
    • ラベルに:(コロン)は使用できない
  • ラベルと値のエスケープは定義されておらず、各アプリケーションに依存する

下記のようなApache Combined Log Formatによるアクセスログは

127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326 "http://www.example.com/start.html" "Mozilla/4.08 [en] (Win98; I ;Nav)"

LTSVでは以下のように表現される

host:127.0.0.1<TAB>ident:-<TAB>user:frank<TAB>time:[10/Oct/2000:13:55:36 -0700]<TAB>req:GET /apache_pb.gif HTTP/1.0<TAB>status:200<TAB>size:2326<TAB>referer:http://www.example.com/start.html<TAB>ua:Mozilla/4.08 [en] (Win98; I ;Nav)

LTSV形式にすることで、Parserを簡単に記述することができる。

#!/usr/bin/env ruby

while gets
  record = Hash[$_.split("\t").map{|f| f.split(":", 2)}]
  p record
end

公式サイト( http://ltsv.org )では、10種類以上の言語によるParser実装が公開されている。

このタグの解説についてこの解説文は、すでに終了したサービス「はてなキーワード」内で有志のユーザーが作成・編集した内容に基づいています。その正確性や網羅性をはてなが保証するものではありません。問題のある記述を発見した場合には、お問い合わせフォームよりご連絡ください。

関連ブログ