- 论坛徽章:
- 0
|
原帖由 ywlscpl 于 2009-7-3 14:01 发表 ![]()
你输错了 max3
awk '{a[$1]++;max3[$1]=($3>max3[$1]?$3:max3[$1])} END {for (i in a) print i,max3}' test.txt
ywlscpl,你好,按你的方法输入仍然报错,会否有平台差异?我用的是Soalris10 X86平台。
# awk '{a[$1]++;max3[$1]=($3>max3[$1]?$3:max3[$1])} END {for (i in a) print i,max3}' test.txt
awk: syntax error near line 1
awk: illegal statement near line 1
另,blackold的命令可以成功执行,但在最大值的判断上有问题,这些最大值在文件上并不存在。
# awk '$1!=p{if(p) print p"\t"s3/a[p]"\t"s4/a[p]"\t"m3"\t"m4;s3=0;s4=0;p=$1}{s3+=$3;s4+=$4;a[p]++;if($3>m3)m3=$3;if($4>m4)m4=$4}END{print p"\t"s3/a[p]"\t"s4/a[p]"\t"m3"\t"m4}' test.txt
2009-4-1 262.2 230.35 850 768
2009-4-2 367.926 268.5 2024 2021
2009-4-3 376 276.191 2024 2021
2009-4-4 367.415 274.862 2024 2021
2009-4-5 580.862 532.255 2024 2021
2009-4-6 397.904 290.372 2024 2021
2009-4-7 413.521 312.511 2024 2021
2009-4-8 434.234 342.415 2024 2021
2009-4-9 447.149 353.872 2729 2688
2009-4-10 374.277 284.319 2729 2688
2009-4-11 344.223 247.894 2729 2688
我再调试一下,多谢各位指点。 |
|