LTSVをyamlぽいフォーマットで色付き表示するPHPスクリプト
LTSVをyamlぽいフォーマットで色付き表示するだけ。 以下の記事のPHP版適当実装。
Code
#!/usr/bin/env php
<?php
/*
* ltsv viewer
*
* ex)
* cat foo.log | php ltsview.php
*/
// refereces below.
// http://d.hatena.ne.jp/naoya/20130206/1360154312
// http://d.hatena.ne.jp/maru_cc/20080216/1203166254
$data = file_get_contents("php://stdin");
$arr = explode("\n", $data);
foreach ($arr as $v) {
$ltsv_arr = explode("\t", $v);
foreach ($ltsv_arr as $ltsv_v) {
if (strpos($ltsv_v, ":") === false) {
continue;
}
list($key, $value) = explode(":", $ltsv_v, 2);
echo pack('c',0x1B)."[1;34m".$key.pack('c',0x1B)."[0m";
echo pack('c',0x1B)."[1;31m".":".pack('c',0x1B)."[0m";
echo $value."\n";
}
echo "---\n";
}