Operating System - HP-UX
1745784 Members
3974 Online
108722 Solutions
New Discussion

Re: sh script to sort, group and sum a flat file

 
SOLVED
Go to solution
Ratzie
Super Advisor

sh script to sort, group and sum a flat file

I have the following flat file that is basically DATE #

Looks like this:

130426 246

130611 3

131011 28

131012 26
131131 117
131228 7

131231 117

 

 

I can sum up total, that is no problem.

But what I also what to do is group and sum by month.

So it will display:

1304 246

1306 3

1310 54

1312 124

 

Any help would be appreicated.

 

 

 

1 REPLY 1
Dennis Handly
Acclaimed Contributor
Solution

Re: sh script to sort, group and sum a flat file

I'm assuming the data is aready sorted.  If not, use "sort -k1.1,1.4" and pipe to this awk script.

Something like this:

awk '
BEGIN {
   sum = 0
   save_yymm = ""
}
{
yymm = substr($1, 1, 4)
if (yymm != save_yymm) {  # new month
   if (save_yymm != "")
      print save_yymm, sum
   save_yymm = yymm # save new
   sum = 0
}
sum += $2
}
END {
   print save_yymm, sum
}' input-file