使用sed高效提取多个日志值

使用sed高效提取多个日志值,sed,extract,Sed,Extract,我几乎有一个我需要的工作代码,我只是不太知道所有的语法。 我为我之前不可理解的帖子道歉,所以我将重写我的请求,希望更容易理解。 我有几百行的信息记录。在这个日志中,有两行代码是我用来提取数据的。 日志中的两条日志行是: 2357: 11-Feb-2019 09:51:22 (low) [] 1369 floating point MIPS (Whetstone) per CPU 2358: 11-Feb-2019 09:51:22 (low) [] 5388 integer MIPS (Dhry

我几乎有一个我需要的工作代码,我只是不太知道所有的语法。 我为我之前不可理解的帖子道歉,所以我将重写我的请求,希望更容易理解。 我有几百行的信息记录。在这个日志中,有两行代码是我用来提取数据的。 日志中的两条日志行是:

2357: 11-Feb-2019 09:51:22 (low) [] 1369 floating point MIPS (Whetstone) per CPU
2358: 11-Feb-2019 09:51:22 (low) [] 5388 integer MIPS (Dhrystone) per CPU
我从这两行中提取值1369和5388。我创建的代码是:

proc=( $(boinccmd --get_messages | sed -n 's/\s*integer MIPS (Dhrystone) per CPU//p' | awk -F\  '{print $6}') )
printf "%s"${proc}"\n"
proc=( $(boinccmd --get_messages | sed -n 's/\s*floating point MIPS (Whetstone) per CPU//p' | awk -F\  '{print $6}') )
printf "%s"${proc}"\n"
但这让塞德开始了双鱼之旅

有没有一种方法可以通过使用不同的流程或让sed加倍并同时查找两件事情来提高效率

谢谢。

awk怎么样:

$ awk '{print $6}' file
1369
5388
awk怎么样:

$ awk '{print $6}' file
1369
5388

如果
程序文本编辑
是一个选项:

forEach line {
    ifElse (or 
             (contains cs "floating point MIPS (Whetstone) per CPU")
             (contains cs "integer MIPS (Dhrystone) per CPU")) {        
        select (afterN char 4) { remove }    
    } {
        remove
    }
}

如果
程序文本编辑
是一个选项:

forEach line {
    ifElse (or 
             (contains cs "floating point MIPS (Whetstone) per CPU")
             (contains cs "integer MIPS (Dhrystone) per CPU")) {        
        select (afterN char 4) { remove }    
    } {
        remove
    }
}

“我需要找到一种更简单的方法”请详细说明哪种方法更简单。请显示所示示例输入的结果,突出显示“不需要的前端内容”。提供更多的示例输入及其输出,包括提供令人满意结果的输入。您是否需要更简单的解决方案,还是仍处于“不工作”状态?您是否需要解决正则表达式部分或移动到变量部分?这是两个不同的问题。请将此问题集中在其中一个问题上,然后为另一个问题单独提问。请澄清期望的结果。sed部分(或写入variabls部分)的输出应该是什么样子?“我需要找到一种更简单的方法”请详细说明哪种方法更简单。请显示所示示例输入的结果,突出显示“不需要的前端内容”。提供更多的示例输入及其输出,包括提供令人满意结果的输入。您是否需要更简单的解决方案,还是仍处于“不工作”状态?您是否需要解决正则表达式部分或移动到变量部分?这是两个不同的问题。请将此问题集中在其中一个问题上,然后为另一个问题单独提问。请澄清期望的结果。sed部分(或写入变量部分)的输出应该是什么样子?谢谢。这就是我在变量中需要的输出。我显示的两行代码只是一个千行日志文件中的两行…所以我已经能够通过sed搜索从我需要的行中获取信息。我试图在awk{print$6}${proc}中绑定…。我想我需要sed提供${proc}的第6个字符…@WesZ不,你不需要。使用awk时,您永远不需要sed。如果您编辑您的问题,以提供更具代表性的样本输入/输出,并更清楚地解释您的要求,那么我们可以帮助您。谢谢。这就是我在变量中需要的输出。我显示的两行代码只是一个千行日志文件中的两行…所以我已经能够通过sed搜索从我需要的行中获取信息。我试图在awk{print$6}${proc}中绑定…。我想我需要sed提供${proc}的第6个字符…@WesZ不,你不需要。使用awk时,您永远不需要sed。如果您编辑您的问题,以提供更具代表性的样本输入/输出,并更清楚地解释您的需求,那么我们可以帮助您。