您好我正在尝试列出报告的总计。
试图列出总数。但我不确定使用什么代码将total salaried
和total hourly
组合在一起来自awk
请告知
结果:
Salaried:
Frank $2333
Mary $1111
Total salaried: $3444
Hourly:
Chris $122
Total Hourly:122
----------------------
Grand Total: $3566
.txt文件:
序列如下:[id],[name],[title],[phone],[type],[pay]
3,Frank,CFO,91111453,Salaried,2333
1,Mary,CEO,93424222,Salaried,1111
5,John,Sales user,9321312,Commission,9999
7,Chris,Admin,98888753,Hourly,122
代码:
#salaried
awk -F, 'BEGIN {print "Salaried"} $5=="Salaried"{salaried+=$6; printf "%s\t\t\t\t$%s\n", $2, $6} END {printf "Total salaried payroll: \t$%s", salaried}' $PAYROLL
echo
echo
#hourly
awk -F, 'BEGIN {print "Hourly"} $5=="Hourly"{hourly+=$6; printf "%s\t\t\t\t$%s\n", $2, $6} END {printf "Total Hourly payroll: \t\t$%s", hourly}' $PAYROLL
echo
echo "Grand total:
答案 0 :(得分:1)
像这样使用awk;
awk -F, '{t[$5]+=$6} END{for (i in t) print i, t[i]}' file
Hourly 122
Commission 9999
Salaried 3444
对于frand total:
awk -F, '{t[$5]+=$6} END{for (i in t) {sum+=t[i]; print i, t[i]} print "Grand Total: " sum}' file
Hourly 122
Commission 9999
Salaried 3444
Grand Total: 13565