6

我试图破译以下awk语句中的动作,特别是;在第一个用户定义变量之后指的是什么。

{ num_gold++; wt_gold += $2 }

4

1 回答 1

4

awk中,可以在一行中写两条语句,用;(分号)隔开

{ num_gold++; wt_gold += $2 }

否则,您应该将它们放在单独的行中:

{
    num_gold++
    wt_gold += $2
}

要打印变量,您只需print在变量之前添加:

{
    num_gold++
    wt_gold += $2

    print num_gold
    print wt_gold
}

正如我所说,您可以将它们全部放在一行中:

{ num_gold++; wt_gold += $2; print num_gold; print wt_gold; }

它太长了!

print也接受多个参数,所以请尝试print num_gold, wt_gold.

于 2012-06-18T07:51:19.703 回答