我正在创建Unix bash脚本,用于解析Web服务器日志文件并将此数据插入数据库。所以我需要将格式为“05 / Oct / 2010:07:38:40 +0400”的时间戳转换为“YYYY-mm-dd”。
我尝试使用/ bin / date -d,但它不接受给定的格式。我找不到为此工具指定输入日期格式的方法。是可能还是我应该考虑替代解决方案?
答案 0 :(得分:0)
你需要:
date +%F
此外,这似乎有效:
date -d "05 Oct 2010 07:38:40 +0400" +%F
您需要使用空格作为分隔符,而不是 / 或:。
答案 1 :(得分:0)
input_date="05/Oct/2010:07:38:40 +0400"
better_date=`echo $input_date | sed -E 's|(..)/(...)/(.{4}).*|\1 \2 \3|'`
date -I -d "$better_date"