将apache日志date格式转换为bash中的纪元

我的目标是将格式为“12 / Nov / 2015:23:28:22”的 apache日志中的date转换为时代格式。 这可以使用date命令来完成,还是需要parsing和提取信息?

看起来我的date命令是想要的-而不是日期部分之间,以及由时间部分分隔的空间。 所以我用sed做这样的转换:

 date -d "$(echo '12/Nov/2015:23:28:22' | sed -e 's,/,-,g' -e 's,:, ,')" +"%s" 

你可以使用包dateutils

dateutils.strptime -i "%Y%m%dT%H%M%S" -f "%d.%m.%Y %H:%M:%S" "20170411T172238"

其中-i是您的输入格式和-f输出格式