On Wed, 2017-10-25 at 12:02 -0400, Mark Haney wrote:
I know this is for CentOS stuff, but I'm at a loss on how to build a script that does what I need it to do. It's probably really logically simple, I'm just not seeing it. Hopefully someone will take pity on me and at least give me a big hint.
I have a file with two columns 'email' and 'total' like this:
me@example.com 20 me@example.com 40 you@domain.com 100 you@domain.com 30
I need to get the total number of messages for each email address. This type of code has always been the hardest for me for whatever reason, and honestly, I don't write many scripts these days. I'm struggling to get psuedocode that works, much less a working script. I know this is off topic, and if it gets modded out, that's fine. I just can't wrap my brain around it.
Not bash but perl:
##### #!/usr/bin/perl my %dd; while (<>) { my @f=split; $dd{$f[0]}{COUNT}+=$f[1]; } print "\nSums:\n"; for (keys %dd) { print "$_\t $dd{$_}{COUNT}\n"; }; ####
It takes the data on stdin, sums it into an associative array and prints out the result
Results: ###### $ ./ppp me@example.com 20 me@example.com 40 you@domain.com 100 you@domain.com 30
Sums: you@domain.com 130 me@example.com 60 ######
I'm sure some perl monk can come up with a single line command to do the same thing.
P.