or download this
+ #fix missed { in {c}
perl -lne "BEGIN{$/=''}@ar=split /\s+/,$_;$k=join qq(\n),@ar[0..3];$h
+{$k}{s}.=' '. $ar[4];$h{$k}{c}+=$1 if $ar[4]=~/(\d+)/;END{print map{q
+q($_ $h{$_}{c} $h{$_}{s}\n\n)} keys %h}" gen1.txt gen2.txt
...
# ok i've nothing better to do this night..
perl -lane "BEGIN{$/=''}map{$h{$_}{s}.=' '.$F[4];$h{$_}{c}+=$1 if $F[
+4]=~/(\d+):/}join qq(\n),@F[0..3]; END{print map{qq($_ $h{$_}{c} $h{$
+_}{s}\n\n)} keys %h}" gen1.txt gen2.txt