从日志中解析条目名称

时间:2014-03-27 15:19:23

标签: bash shell parsing

编写bash解析脚本是我自己的个人噩梦,所以我在这里。

服务器日志格式如下:

197 INFO    Thu Mar 27 10:10:32 2014
    seq_1_1..JobControl (DSWaitForJob): Waiting for job job_1_1_1 to finish
198 INFO    Thu Mar 27 10:10:36 2014
    seq_1_1..JobControl (DSWaitForJob): Job job_1_1_1 has finished, status = 3 (Aborted)
199 WARNING Thu Mar 27 10:10:36 2014
    seq_1_1..JobControl (@job_1_1_1): Job job_1_1_1 did not finish OK, status = 'Aborted'

从这里我需要解析出格式符合的字符串:

  

作业作业名称已完成,状态= 3(已中止)

所以从上面的输出我应该得到:job_1_1_1

如果我将此服务器日志作为某个命令输出,那么该脚本会是什么样的?

谢谢xx

1 个答案:

答案 0 :(得分:2)

使用grep -P

grep -oP '\w+(?= has finished, status = 3)' file
job_1_1_1