我正在尝试获取某些日志的日期,以某种格式进行一些比较,这是我的命令:
fgrep "<expression>" <logFile> | sort | awk -F "[][]" 'messageDate=$(date -d "$2" "+%Y.%j.%H.%M.%S") { print messageDate }'
我打印的是日志文件的完整行。
如果我运行这个:
fgrep "<expression>" <logFiles> | sort | awk -F "[][]" 'messageDate=$(date -d "$2" "+%Y.%j.%H.%M.%S") { print $2 }'
我得到了日期但不是我想要的格式。
2014-09-04T08:22:16Z
2017-10-08T16:05:06Z
2022-11-30T14:50:16Z
日志文件包含如下消息:
[2022-11-30T14:50:16Z] <Info/Warning/Error>: <log message>
有谁明白为什么 awk 可以工作,这意味着它正确地分割文件,但是代码messageDate=$(date -d "$2" "+%Y.%j.%H.%M.%S")
以某种方式再次获取完整的日志消息?