【发布时间】:2023-03-09 09:29:01
【问题描述】:
我有一个来自我的应用程序的日志,例如:
{Fri Mar 16 19:07:47 Program: job-a: <blah><blah>
Fri Mar 16 19:07:47 Program: job-a: <blah><blah>
Fri Mar 16 19:07:48 Program: job-b: <blah><blah>
Fri Mar 16 19:07:48 Program: job-b: <blah><blah>
Fri Mar 16 19:07:50 Program: job-b: <blah><blah>
Fri Mar 16 19:07:51 Program: job-b: <blah><blah>
Fri Mar 16 19:07:52 Program: job-a: <blah><blah>
Fri Mar 16 19:07:52 Program: job-a: <blah><blah>
Fri Mar 16 19:07:53 Program: job-a: <blah><blah>
Fri Mar 16 19:07:54 Program: job-a: <blah><blah>
Fri Mar 16 19:07:55 Program: job-a: <blah><blah>
Fri Mar 16 19:08:00 Program: job-a: <blah><blah>
Fri Mar 16 19:08:01 Program: job-a: <blah><blah>
Fri Mar 16 20:33:52 Program: job-c: <blah><blah>
Fri Mar 16 20:45:56 Program: job-c: <blah><blah>}
在这种情况下,对于每个作业名称(job-a、job-b、job-c),我需要找到第一次和最后一次出现的行来标识开始和结束时间。
即我需要输出程序/作业名称、start_time 和 end_time,如下面的示例输出所示。我已将预期输出显示为逗号分隔,但我并不真正关心分隔符,因为我只对值感兴趣。忽略示例输入/输出中开头和结尾的花括号。
job-a, Fri Mar 16 19:07:47, Fri Mar 16 19:08:01
job-b, Fri Mar 16 19:07:48, Fri Mar 16 19:07:51
job-c, Fri Mar 16 20:33:52, Fri Mar 16 20:45:56
【问题讨论】:
-
如果您展示到目前为止您尝试过的代码并描述您遇到的问题,您将在这里得到更友好的接待和更好的帮助。如果没有代码,您的问题看起来像是请求免费咨询,很多人不喜欢这样。
标签: perl awk text-processing