を使ってsyslogからヒストグラムデータを作る

1時間ごとの件数を計数するとき

awk '$5 ~ /サービス名/' ログ | awk '{print $3}' | awk -F: '{print $1 }' | sort | uniq -c

あ、どっちかというと uniq -c をよく忘れてしまう俺だった。

ログが圧縮してあった場合には、

for i in $(seq 9 -1 0) do ; gzip -dc ログ.$i.gz ; done | 

というのを先にくっつけたくなるが、動くかどうかは知らない(汗
(それに、最新のログがくっついてないじゃないか)

  1. BASH←20年も経つと全部忘れてて、だいぶお世話になった
  2. UNIXプログラミング環境 (海外ブックス)

    UNIXプログラミング環境 (海外ブックス)

    ああ懐かしい。何もかも。プログラミング言語C 第2版 ANSI規格準拠よりも「いい本」だった。
  3. 実用UNIXシステムある意味こっちのほうが懐かしい

ところで、パイプで複数のプロセスをつなぐのはone-linerとは言いがたいだろう(笑
でも、凝らない、小さなプログラムをつないで仕事をこなす、こういうのを見るとUnixの精神を思い出すような気がする。one-linerはMulticsの末裔なのかもしれない(ぉ
そういや、Linuxのカーネルも、Unixらしくないと言えばそうだな。