Perl one-liner:
perl -e 'while(<>) { chomp; ($tag, $num) = split /\s+/; $tmp{$tag} .= ",$num"; } foreach $t (sort keys %tmp) { print $t.$tmp{$t}."\n" } ' myfile.txt
Гораздо проще, чем пытаться скомбинировать многоходовое регулярное выражение, которое, скорее всего, сломается пару раз, прежде чем вы поймете правильно, и которое зависит от данных.сортируется, и для этого может потребоваться второе регулярное выражение для переформатирования всего в конце ...