【问题标题】:How to split a timestamped log file in multiple files, by day, using awk如何使用 awk 按天将时间戳日志文件拆分为多个文件
【发布时间】:2017-07-24 02:44:29
【问题描述】:

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

[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 的经验,无法将答案翻译成我需要的。

【问题讨论】:

  • 类似awk -F'[]T[]' '{print > "log-"$2".txt"}' input_file

标签: bash awk split timestamp


【解决方案1】:

你可以使用这个 awk 命令:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-08
    • 1970-01-01
    • 1970-01-01
    • 2017-07-09
    • 2016-08-01
    • 1970-01-01
    • 2014-02-17
    • 2019-08-06
    相关资源
    最近更新 更多