我有一个解析aws cloudfront日志的shell脚本。
awk '{print $1","$2","$4","$5","$8","$9","(substr($11,1,7))","$12 }' access_log | grep cid= | sed -e 's/\/data//g;s/\/videos//g;s/\/images//g;s/\/hls//g;s/\/rss//g;s/\/xml//g;s/cid=//g' > stats.txt
我正在尝试将字段$ 1和$ 2组合在一起,因此日期时间戳类似于以下格式: 约会时间 0000-00-00 00:00:00
目前在两个领域的日期,时间 2012-12-23 20:59:47
感谢任何帮助。
答案 0 :(得分:2)
脚本的awk部分在您希望格式化为datetime的日期和时间部分之间添加逗号。这导致“YYYY-MM-DD HH:MM:SS”显示为“YYYY-MM-DD,HH:MM:SS”。
要获得结果,请将脚本更改为:
awk '{print $1" "$2","$4","$5","$8","$9","(substr($11,1,7))","$12 }' access_log | grep cid= | sed -e 's/\/data//g;s/\/videos//g;s/\/images//g;s/\/hls//g;s/\/rss//g;s/\/xml//g;s/cid=//g' > stats.txt
这应该正确插入日期时间字段。