perl -F: -nale ' push @d, [@F]; END { print join "\n", map { join ":", @$_} grep { $c = $$_[1] eq $prec? $c+1:1; $prec = $$_[1]; $c>4? 0: 1} sort {$a->[1] cmp $b->[1] || $b->[0] <=> $a->[0]} @d;};' file.txt