名前 bs.awk -- SIN-NET用 書き込み集計awkプログラム 形式 awk -f bs.awk [入力ファイル ...] [>出力ファイル] 説明 このawkスクリプトはSIN-NETの通信ログファイルから書き込み集計表を作成 するためのawkプログラムです。 入力データは前項の形式によりログファイルを指定します。ログファイルは 複数指定可です。入力ファイル名を指定しないとデータは標準入力パスより読 み込まれます。出力ファイルは標準出力パスに書き出されますのでディスクファ イルに結果を残す場合はリダイレクションを行います。 bs.awkは入力テキストよりSIN-NETのLコマンドによって出力された行を検出 し、集計の対象とします。入力テキスト中にはLコマンド以外の行、例えばシ ステムのプロンプトなどが入っていても問題ありません。ただし、Lコマンド を複数回実行した結果が入っていると、それらを全部集計対象としてしまいま す。この場合、警告あるいはエラーメッセージが出力されます。 作成される集計の種類は以下のとおりです。 ・トータル集計 書き込みを行ったユーザの人数、書き込まれた記事の総数、書き込まれ た全記事の合計バイト数、一記事あたりの平均サイズが報告されます。 ・ユーザ別集計 書き込み数の多いユーザ順に集計結果を報告します。厳密にはこの出力 順位は書き込み数、書き込み合計サイズ、IDの優先順位で多段ソートされ た結果になります。 入力データ中にBコマンドによる記事本文の表示が発見された場合、そ のヘッダを検索し、ユーザID→ハンドルの対応表を作成するのでハンドル 名の欄も出力されるようになります。 ・月別集計 月ごとの書き込み数を文字 * を使って棒グラフの形式で報告します。 棒グラフの最大値が50以下の場合は * が一記事に対応します。一方50 を越える場合は最大値で * が50個になるように正規化されます。 集計結果が1つの月だけの場合は、この集計は報告されません。 ・曜日別集計 曜日ごとの書き込み数を文字 * を使って棒グラフの形式で報告します。 棒グラフの表示形式は「月別集計」と同様です。 ・時間別集計 時間(0時〜23時)ごとの書き込み数を棒グラフの形式で報告します。 棒グラフの表示形式は「月別集計」と同様です。 診断メッセージ bs.awkでは以下のような診断メッセージが出力されます。「エラー: ...」 は入力データが明らかに異常であると判断し、集計結果の出力は行われません。 「警告: ...」では入力ファイル中にデータとして信頼性に欠ける部分が検出 され、入力データのチェックが必要なことを表します。 「エラー: 記事が一つも見つかりませんでした」 入力データ中にSIN-NETのLコマンドの出力行が検出されなかったことを 表します。入力ファイル名が正しく指定されているか等の確認が必要です。 「エラー: 記事番号が逆転しています」 入力データ中に記事番号が逆転している部分があることを表します。L コマンドが複数回実行されていたり、記事本文中にLコマンドの出力行が 引用されている場合、このエラーが発生する可能性があります。 「警告:記事番号が不連続です」 入力データ中に記事番号が抜けている部分があることを表します。原因 は前項の場合と同様なものの他、記事が削除されている場合も考えられま す。 bs.awkプログラム中のBEGINセクションの変数SKIPALLOWが連続して脱落 した記事の個数の許容値です。デフォルトではSKIPALLOW=1ですので、記 事が一個だけ削除されている場合にはこの診断メッセージは出力されませ ん。 「? -- 不明 --」 このメッセージはユーザ別集計のハンドルの欄に出力されます。入力デー タからは、このメッセージが表示されたユーザのハンドルが見つからなかっ たことを表します。全ユーザのハンドルが分からなかった場合はハンドル の欄自体が出力されません。 これら以外の診断メッセージはawk処理系自身によって出力されたものです。 原作者 SIN4103 にゃんこ先生 著作権 このプログラムの著作権は原作者のSIN4103 にゃんこ先生が保有します。 再配布 bs.awkの複製・改変は自由に行なえます。また、それらを再配布することも 可能です。ただし、再配布に関しては次の点を守って下さい。 ・bs.awkを改変せずオリジナル版の再配布を行なう場合はパッケージに含ま れる全ての内容を配布して下さい。awkスクリプトおよびドキュメント類 の一部のみを配布することは禁止します。 ・bs.awkのオリジナル版を改変したものを配布する場合についてもパッケー ジに含まれる全ての内容を配布して下さい。加えて、原作者がSIN4103 にゃ んこ先生であることを示し、またbs.awkのどのような箇所に改変が行なわ れたかが明記されている文書を必ず追加して下さい。 無保証 bs.awkは無保証です。このプログラムを利用した結果生じた損失、損害等の 不利益について原作者は責任を負いません。また、原作者はこのプログラムの 保守・改良等の義務も負わないものとします。