コマンドラインの統計ツール「st」はログの簡易集計にとても便利

スポンサード リンク

コマンドラインから使える簡易統計コマンド『st』 | IDEA*IDEA」の記事を読んで、これこそ私の求めてたものかも!と思ってインストールした。結果、私の求めてたものだった。

数字が連続して出てくる出力結果の改行を" + "に置換してbcしてた日々よ、さらば。

インストール

$ wget https://github.com/nferraz/st/archive/master.zip
$ unzip master.zip
$ cd st-master/
$ perl Makefile.PL
$ make
$ sudo make install

githubのnferraz/stから、wgetでzipファイルを取ってきて、解凍して、makeして、make installです。

使ってみた

$ cat example.txt 
apple,1538
orange,80314
grape,25034
peach,3192
banana,7892

こんなデータがあるとする。

$ cut -f2 -d, example.txt | st --format='%.0f'
N   min max sum mean    sd
5   1538    80314   117970  23594   33047

example.txtの2フィールド目を出力してそれをstにパイプでつなげて計算してもらいました。

各項目の意味

  • N: データの個数
  • min: 最小値
  • max: 最大値
  • sum: 合計
  • mean: 算術的平均値
  • sd: 標準偏差

良いと思ったところ

  • sumだけでも標準コマンドだけでやるのはひどく面倒だったのが、すごく簡単になった
  • 結果の出力フォーマットを柔軟に変更できるので、そのデータをさらに二次利用しやすい
    • 生ログの任意の数値をこれで集計して結果だけを別のファイルに保存するとか
      • ただしデータ件数数万件のsumで数十秒はかかるのでデータ量が多い場合は注意
スポンサード リンク