[CentOS] [OT] Bash help

m.roth at 5-cent.us m.roth at 5-cent.us
Wed Oct 25 17:24:44 UTC 2017


Warren Young wrote:
> On Oct 25, 2017, at 10:02 AM, Mark Haney <mark.haney at neonova.net> wrote:
>>
>> I have a file with two columns 'email' and 'total' like this:
>>
>> me at example.com 20
>> me at example.com 40
>> you at domain.com 100
>> you at domain.com 30
>>
>> I need to get the total number of messages for each email address.
>
> This screams out for associative arrays.  (Also called hashes,
> dictionaries, maps, etc.)
>
> That does limit you to CentOS 7+, or maybe 6+, as I recall.  CentOS 5 is
> definitely out, as that ships Bash 3, which lacks this feature.
<snip>
Associative arrays?

Awk! Awk! (No, I am not a seagull...)

sort file | awk '{ array[$1] += $2;} END { for (i in array) { print i "\t"
array[i];}'

      mark "associative arrays, how do I love thee? Let me tot the arrays..."





More information about the CentOS mailing list