2chのGPS-CS3Kスレで「60秒問題」というバグが話題になっていました。ログの中のタイムスタンプが、12:10:60的(実際には120060など)にあり得ない秒数を出力ことがあり、轍などのソフトで読み込む時に問題になる、というものです。桁上がり処理のミスなんでしょうね。
自分自身はあんまり困ってなかったんですが、簡単な処理なのでログファイルをドラッグ&ドロップで60->59に置換するツールでも作ろうかと思ったんですが、ふと思い立って、正規表現指定で一括置換してくれるツールなんてゴロゴロあるだろうと思ってリサーチ。
- ちゃんと機能する
- 複数ファイルの一括処理ができる
- 元ファイルを上書きする
- バックアップファイルを残せる
- 何カ所置換したか表示される(必須ではない)
という条件で数本のソフトを物色。意外に全てを満たすものがなくて、1時間以上かかってなんとか辿り着いたのがRepl-Ace on .NETでした。
以下、肝心の正規表現部分の設定を貼って起きます。
- 検索文字列: (\$[A-Z]{5},[0-9]{4})60,
- 置換文字列: ${1}59,
「正規表現を使う」にチェックするのも忘れずに。
処理内容を日本語的に説明すると、「“$、英字5文字、半角カンマ、数字4桁、60、半角カンマ”の組み合わせを探し、その中の60を59に置換」ってとこです。お好みでカスタマイズして下さい。
その他、上書きやバックアップの設定はお好みでどうぞ。必ずバックアップをとった上で入念に動作チェックをして自己責任でご利用下さいませ。