繁体   English   中英

awk列出报告的总计

[英]awk to list grand total of report

嗨,我正在尝试列出报告的总数。 试图列出总数。 但是不确定使用什么代码将total salaried total hourlytotal hourly total salaried组合在一起

请指教

结果:

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: 

这样使用awk;

awk -F, '{t[$5]+=$6} END{for (i in t) print i, t[i]}' file
Hourly 122
Commission 9999
Salaried 3444

对于总数量:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM