【发布时间】:2016-04-19 18:08:32
【问题描述】:
此解决方案将成为脚本的一部分。
给定一个错误日志,我需要提取失败状态/失败原因和用户名,然后将它们连接起来,以便可以通过电子邮件发送输出。
我的输出应该是这样的:
Operation status: failed,Job Description not updated because this is not a matching Job Description ID.,username=FOO
Operation status: failed,Job Description not updated because this is not a matching Job Description ID.,username=BAR
错误日志文件中的每一行都与此非常相似:
"{ Operation status: failed,Job Description not updated because this is not a matching Job Description ID.,Sent Data:{lastAppraisalScore=0.0, country=null, jobTitle=LABORER..., username=FOO},...sendAcctActNotif=N}}"
文件中没有省略号;每行包含的内容远远超过显示的内容,但我只显示了重要的部分。
【问题讨论】:
-
您能分享一下您在这方面的研究成果吗?您是否尝试使用
set -x选项调试脚本? -
每一行都是有效的 JSON 吗?如果是这样,您可以通过将每一行传递给
jq并选择Operation status和username键来实现此目的。 -
我没有尝试使用
set -x选项进行调试。egrep -o "Operation status:" input部分返回我需要的内容,但需要提取到第一个.,以便我可以获取整个错误代码。 -
@TomFenech 不,这些行不是 JSON。