У меня есть строка:Awk строка манипуляции
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
Я знаю, что я мог бы использовать или патч в Баш, чтобы преобразовать его, но я хотел бы сохранить его в процессе AWK.
Есть ли лучший (более короткий или элегантный) способ?
N.B. Я хотел бы сделать это как можно более общим (gensub
gawk only (?)).
Насколько я знаю, только * GNU AWK * поддерживает * * указываете ей, поэтому * gensub * должно быть в порядке. –