У меня есть строка:
20120113083000Z
и я хочу преобразовать его в:
2012 01 13 08 30 00 Z
готов к команде mktime
для преобразования ее в отметку даты.
У меня в данный момент:
echo '20120113083000Z' |
awk '{print mktime(gensub(/(....)(..)(..)(..)(..)(..)(.)/,"\\1 \\2 \\3 \\4 \\5 \\6 \\7",1g,$1))}'
1326439800
Я знаю, что мог бы использовать sed или bash для конвертации, но я бы хотел оставить это внутри процесса awk.
Есть ли лучший (более короткий или более элегантный) способ?
N.B. Я хотел бы сделать его как можно более универсальным (gensub
только gawk (?)).