我有一个字符串,其中包含以下格式的日期:
Wed May 13 13:57:00 1992
我需要将其转换为具有以下格式的字符串:yyyyMMddHHmmss
是否有任何bultin功能可以做到这一点?
P.S。 我需要它在AIX 6.1上工作
答案 0 :(得分:1)
这是一个awk
解决方案,应该足够便携(格式化更多,以提高可读性):
echo "Wed May 13 13:57:00 1992" | tr ':' ' ' | \
awk 'BEGIN { months["Jan"] = "01"
months["Feb"] = "02"
.....
months["Dec"] = "12"
}
{ printf "%s%s%s%s%s%s\n", $7, months[$2], $3, $4, $5, $6 }'
我会将awk
程序代码放在一个文件中,所以我只需输入一次,然后我就可以awk -f convert_date_format.awk
代替......
tr
位并非真的有必要 - 可以在awk
中替换冒号(或只是拆分它们周围的时间字段),但它并不像添加tr
步骤简单...