shell脚本中的awk疑问

2024-11-15 17:51:40
推荐回答(3个)
回答(1):

前部分的”{(total += $6)}“是个算法表达式,不会打印任何信息,其意义为每新处理一行数据都会将该行第6个字段的数据与total变量相加,所以最后total只会是一个确定值。
后半部分”END{print total}“才会打印total这个确定的值。

回答(2):

从这两个awk来看,都只是把第六行加起来然后输出。

$ seq 4 | awk '{(a+=$0)}END{print a}'
10
$ seq 4 | awk '{a+=$0}END{print a}'
10

上面的例子,加不加括号都是1+2+3+4=10没区别,应该是别的语句造成输出不同。

回答(3):

我倒真好奇这俩在显示上能有啥区别了。你贴个结果来看看。顺便把完整的语句贴上来让咱膜拜一下吧。