2016-01-13 36 views
0

使用条件控制流具有其内容就像一个文件:我如何在AWK

... 
... Precision is ill-defined and being set to 0.0 due to no predicted samples ... 
... 
Score metric (precision_score): 0.0 
... 

,其中可能会或可能不存在含有Precision is ill-defined and being set to 0.0 due to no predicted samples线路,以及包含Score metric (precision_score):可能会或可能不存在该行。

我想使用AWK创建一个变量precision,和

  • 如果包含Precision is ill-defined and being set to 0.0 due to no predicted samples存在线,设置precisioninf值,

  • 否则,如果包含Score metric (precision_score):线存在,将precision的值设置为以下数字Score metric (precision_score):

我不知道如何在awk中实现它?谢谢。

回答

1

我这不是如何去使用,但这里的东西,可以让你开始

$ awk --posix -F: '/Precision is ill-defined/{precision="+inf"} 
!precision && /Score metric \(precision_score\)/{precision=$2} 
           END{print "precision: "precision}' file 

您可以添加全文的模式。

gawk默认不支持“inf”,您必须设置--posix选项。