Splunkでログ上にあるシリアライズされたデータを数える

こんなことする必要無いのが一番いい出力先のログが分かれてるのが理想なんだけど
多分もっとスマートなやり方あるだろうけど手っ取り早くbkくさいやり方でなんとかする

ログ上にあるカラム長が固定されてないCSVデータを数え上げたい、というはなし

こんな感じでrex正規表現sedでおもむろにカンマ以外を全部削除する https://techlog.tokyo/2019/08/31/splunk-%e6%ad%a3%e8%a6%8f%e8%a1%a8%e7%8f%be%e3%81%a7%e3%83%95%e3%82%a3%e3%83%bc%e3%83%ab%e3%83%89%e3%82%92%e6%8a%bd%e5%87%ba%e3%83%bb%e7%bd%ae%e6%8f%9b%e3%81%99%e3%82%8b/

rex field=FIELD_SED mode=sed "s/[^,]//g"

さらにこんな感じでカンマの文字列長をeval len()して測って+1した https://splunkonbigdata.com/2018/09/03/usage-of-splunk-eval-function-len/

eval FIELD_COUNT=len(FIELD_SED)+1 | table _time FIELD_COUNT _raw

最後にtableで元の値が見れるっぽいので便利

csvでなくても同じ要領でデータじゃないとこを全部消してセパレーターを数え上げられる形式に置換すればいける

おまけ
クエリ検証するのにこうやって同じインターフェースからダミーデータinputできるのかなりポイント高い https://qiita.com/toshikawa/items/b7f1fb805b29fa087c33