如何在awk中使用条件控制流程

时间:2016-01-13 03:21:43

标签: awk gawk

我的文件内容如下:

...
... 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的行存在,请将precision的值设置为inf

  • 否则,如果包含Score metric (precision_score):的行存在,请将precision的值设置为Score metric (precision_score):后面的数字

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

1 个答案:

答案 0 :(得分: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选项。