2016-01-13 39 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選項。