gawkまたはawkから文字列を日付タイムスタンプに変換する

gawkまたはawkから文字列を日付タイムスタンプに変換する

次の文字列を変換したい(20140805234656)が日付/時刻スタンプ(2014-08-05 23:46:56)。私はgawkに最初に触れ、正確な構文を知りません。どのように書くべきですか?-5,8ポイントごと:14,17ごとに""をインデックス11に配置します。これをawkで達成する効率的な方法はありますか?

編集する

awkでは文字列を変数として使用しています。記録の処理中に作成しました。

ベストアンサー1

GNU awkを使用してこれを行う1つの方法は次のとおりです。

echo 20140805234656 | awk 'BEGIN { FIELDWIDTHS = "4 2 2 2 2 2" } { printf "%s-%s-%s %s:%s:%s\n", $1, $2, $3, $4, $5, $6 }'

おすすめ記事