awkが楽しい

仕事ではじめてawk使いました。プロジェクトファイルとソースファイルを定型的に処理するスクリプト
例えばC++ソースファイルの#〜を削除するだけであればこんな感じ。

#!/bin/gawk -f
BEGIN {
}
$1 ~ /^#/ {
    next;
}
{
    print($0);
}
END {
}

実際にやったのはある特定のif/defに対してごにょごにょ変換しただけです。
このawksvn blameを使えば先日作ったVisualStudioのビルドログの警告サマリを、人単位に分析できますね。

警告一覧メール、その後

警告が減ったのは最初の方だけで、結局もともと警告を気にしていた人が自分の警告を取りきった時点で数が安定してしまいました(でもまだ3桁!!)
結局警告を気にするかどうかって個人のコーディングスタイルの問題になってしまうので、個人攻撃にした方が効果的なのかもしれない。

svn blame

subversionで管理されたソースを、誰がいつ変更したかがわかります。バグの犯人探しには必須です(笑

画像はtortoisesvn.netから拝借