【发布时间】:2020-08-27 13:19:38
【问题描述】:
sed '1d'|awk 'BEGIN{FS=";";sum=0} {sum+=$3; avg=sum/NR; if($3<avg) print $3}'
这是我尝试打印工资低于所有员工平均工资的员工工资的 unix 命令。给出的输入是:
Empid;Empname;Salary
101;V;30000
102;A;45000
103;I;15000
104;S;40000
根据输入,平均工资= 32500,这意味着 30000,15000 都应显示在输出中。但我只能得到 15000 作为我的输出。请帮助并告诉我哪里出错了。
【问题讨论】:
-
当时您计算的是
30000 < avg,avg == 30000,而不是32500。