如何使用awk按天分割多个文件中的带时间戳的日志文件

时间:2017-03-03 20:50:20

标签: bash awk split timestamp

我有一个大型日志文件,可以追溯到几年,看起来像这样:

[2017-02-16T15:59+02:00] some log data
[2017-02-17T16:03+02:00] some other log data
[2017-02-17T16:05+02:00] yet another log data

我想将它拆分为单独的文件。每个文件应包含一天内的所有邮件。文件名应该类似于log-2017-02-16.txt

我做了一些研究并发现了一些类似的问题,但我没有使用awk的经验,无法将答案翻译成我需要的答案。

1 个答案:

答案 0 :(得分:1)

您可以使用此awk命令:

awk -F '[\\[T]' '{print > "log-" $2 ".txt"}' file
  • -F '[\\[T]'将输入字段分隔符设置为[T
  • "log-" $2 ".txt"将格式化所需的文件名 0 print > ..会将每条记录重定向到文件