perl -we 'binmode STDIN, "encoding(utf8)" or die; binmode STDOUT, "encoding(utf8)" or die; while(<>) { while (/(\p{IsAlpha}+)/g) { my $w = $1; my $l = substr $w, -1; $f{$l}++; $r{$l}{$w}++; } }; for my $l (sort { $f{$a} <=> $f{$b} } keys %f) { @m = reverse sort { $r{$l}{$a} <=> $r{$l}{$b} } keys %{$r{$l}}; splice @m, 10; printf "%5d %s - %s\n", $f{$l}, $l, join(" ", @m); }'