Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 分号在awk动作中代表什么?_Linux_Awk - Fatal编程技术网

Linux 分号在awk动作中代表什么?

Linux 分号在awk动作中代表什么?,linux,awk,Linux,Awk,我正试图解读以下awk语句中的动作,特别是中的动作 {num_gold++;wt_gold+=$2}在awk中,您可以在一行中编写两条语句,用分隔(分号) 另外,您应该将它们放在单独的行中: { num_gold++ wt_gold += $2 } 要打印变量,只需在变量之前添加print: { num_gold++ wt_gold += $2 print num_gold print wt_gold } 正如我所说,你可以把它们放在一行:

我正试图解读以下
awk
语句中的动作,特别是
中的动作


{num_gold++;wt_gold+=$2}

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

另外,您应该将它们放在单独的行中:

{
    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\u gold,wt\u gold

它似乎是
num\u gold++
wt\u gold+=$2
之间的分隔符。我不认为它指的是任何东西。分号
传统上只是分隔语句。这里使用它是为了将代码放在一行。@nhahdh-它有什么用途?@ChristopheD-将代码放在一行是什么意思?为什么我不能做
{num_gold++wt_gold+=2}
?@PeanutsMonkey:那么我猜awk不会理解你想给它输入什么(语言需要知道语句何时结束-大多数时候是换行符或分号)。谢谢。那么这是否意味着我每行只能有2条语句,如果我想在一行中使用它们,我就必须使用
分隔符。任意数量的语句。只需添加
在最后。谢谢。《代码》也是如此我可以使用的唯一定界符?在 AWK中的大多数语法与<代码> C>代码>相同。当你有大量的后续问题时,这是你应该考虑阅读手册的一个标志,你知道。
{
    num_gold++
    wt_gold += $2

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