偉大さを達成するために、日付と時刻の形式をログファイルからタイムスタンプに変換する必要があるスクリプトを書いています。後で簡単に比較できるようにしたい。
私のログファイルの形式は次のとおりです。
2012-11-06 10:32:45
<log message follows here on multiple lines in XML format>
次の gawk 式を使用して、日付/時刻をタイムスタンプに変換しています。
$ gawk '/^([0-9]{2,4}-?){3} ([0-9]{2}\:?){3}/{print $0;gsub(/\:/," ");print mktime($0)}' logfile.txt
出力は次のようになります。
2012-11-01 15:27:28
1293719248
これは実際に私が探しているものですが、問題は正規表現が正しいかどうかです? 私は正規表現の達人にはほど遠いので、これで問題ないかどうかも知りたいです。正規表現に関しては、これをより洗練された方法で行うことができますか? ログ ファイルで使用されている形式は、そこで変更されることはありません。なぜなら、私はわざわざ世界共通の日付/時刻の一致を作成しなかったからです。多分私の表現の他の何かはfubarですか?:-)