将公共日志格式(NCSA)转换为bash / shell中的时间戳?

时间:2013-10-17 14:05:24

标签: bash shell logging

是否有一种将通用日志格式(NCSA)转换为时间戳的简单方法?

我发现只有C++ decision和一些perl决定。并且想知道为什么我不能像日期那样使用标准的unix函数。

> date +"%d/%m/%Y:%H:%M:%S" -d "17/Oct/2013:16:52:28" +"%s"


"17/Oct/2013:16:52:28" -> 1382014348

例如: iso8601中的日期到时间戳

 > date -d "2013-10-17T18:07:39+04:00" +"%S"
 1382018859 

1 个答案:

答案 0 :(得分:2)

您可以尝试此操作(如果您确实要使用date),

date -d "$(sed -e 's#/#-#g; s#:# #' <<< '17/Oct/2013:16:52:28')" '+%s'