日付が YYYY-MM-DD として保存されている大きな CSV ファイルがあります。これらをタイムスタンプに変換する必要があります。変換のために、時刻はすべての日付で正午であると想定しています。
次のようなgawkスクリプトを使用しようとしています
gawk '{
print gensub(/([0-9]{4})-([0-9]{2})-([0-9]{2})/, mktime("\\1 \\2 \\3 12 0 0"), "g");
}' file.csv
しかし、何らかの理由で mktime は値に対して常に -1 を返します。Python スクリプトを使えばもっとうまくできることはわかっていますが、学習目的のためだけに、なぜこれがうまくいかないのか疑問に思っています。