Использование AWK:
awk 'count[$1]++ < 3'
Вы можете указать разделитель полей, чтобы избежать шага преобразования:
awk -F: 'count[$1]++ < 3'
Точно с awk
выражением:
awk -F"[_:]" '$0 && a[$2]++ < 3{ print $1"_"$2, $3 > "locus_groups" }' file
Результаты:
$ cat locus_groups
locus_1 36
locus_1 38
locus_1 41
locus_2 9
locus_2 36
locus_2 60
locus_3 20
locus_3 60