awk

Simple If Statement

简单if语句测试一个条件,如果条件返回真,执行相应动作。

single Action 语法

    if (conditional-expression)
        action

* if是一个关键字

* conditional-expression 表示条件被测试

* action 是一个awk语句被执行

Multiple Actions

如果有多个动作需要执行时,条件为真,这些行动应该被包含在大括号里,个别动作(awk语句)应该由新行或者分号隔开,如下所示:

语法:

if (conditional-expression)
{
    action1;
    action2;
}

如果条件为真,所有的花括号括起来的action将在给定的须序执行。所有actions执行后,awk继续执行下一条语句。

打印所有数量<=5的项目:

$ awk -F "," '{if ($5<=5) print "Only",$5,"qty of",$2, "is available";}' items.txt
Only 2 qty of Refrigerator is available
Only 5 qty of Laser Printer is available

你也可以有多个条件操作符在一个if语句中,如下显示。 这个例子打印所有价格在500到1000的所有项目,并且总数<=5

$ awk -F "," '{if (($4 >= 500 && $4 <= 1000) && ($5 <= 5)) print "Only",$5,"qty of",$2,"is available";}' items.txt
Only 2 qty of Refrigerator is available