Question: I have tried to break a problem down to two files. I want to take the most common 2nd column value for each sequence (1st column) then have the range of column 3 for those values. Also count the number of markers so the number of Fc06 for seq000001. Any idea how to do this? I was hoping for something easy on linux command line using awk but I just can't see it. The data is cM and chromosome file which I which to summarise.

file1
seq000001
seq000002

file2

seq000001	Fc06	35.948
seq000001	Fc06	36.793
seq000001	Fc06	37.009
seq000001	Fc06	37.009
seq000001	Fc06	37.009
seq000001	Fc06	37.009
seq000001	Fc06	37.009
seq000001	Fc06	37.009
seq000001	Fc06	37.009
seq000001	Fc06	37.009
seq000001	Fc06	37.009
seq000001	Fc06	37.009
seq000001	Fc06	37.009
seq000001	Fc08	37.009
seq000001	Fc06	37.368
seq000001	Fc06	37.368
seq000001	Fc06	37.368
seq000001	Fc06	37.368
seq000001	Fc06	37.368
seq000001	Fc06	37.58
seq000001	Fc06	37.916
seq000001	Fc06	37.916
seq000001	Fc06	37.916
seq000001	Fc06	37.916
seq000001	Fc06	37.916
seq000001	Fc08	37.916
seq000001	Fc06	37.916
seq000001	Fc06	37.916
seq000001	Fc06	37.916
seq000001	Fc06	37.916
seq000001	Fc06	37.916
seq000001	Fc06	38.1
seq000001	Fc06	38.664
seq000001	Fc06	38.923
seq000001	Fc06	38.978
seq000001	Fc06	39.324
seq000001	Fc06	40.341
seq000001	Fc06	40.341
seq000001	Fc06	40.341
seq000001	Fc06	40.543
seq000001	Fc06	40.543
seq000001	Fc06	40.543
seq000001	Fc06	40.992
seq000001	Fc06	41.189
seq000001	Fc06	41.189
seq000001	Fc06	41.347
seq000001	Fc06	41.39
seq000001	Fc06	41.39
seq000001	Fc06	41.39
seq000001	Fc06	41.399
seq000001	Fc06	41.399
seq000001	Fc06	41.399
seq000001	Fc06	41.657
seq000001	Fc06	41.71
seq000001	Fc06	41.785
seq000001	Fc06	41.923
seq000001	Fc06	42.237
seq000001	Fc06	42.634
seq000001	Fc06	42.963
seq000001	Fc06	43.285
seq000001	Fc06	43.478
seq000001	Fc06	43.478
seq000001	Fc06	43.478
seq000001	Fc06	43.478
seq000001	Fc06	43.744
seq000001	Fc06	43.744
seq000001	Fc06	45.234
seq000001	Fc06	45.234
seq000001	Fc06	46.272
seq000001	Fc06	46.272
seq000001	Fc06	46.272
seq000001	Fc06	46.272
seq000001	Fc06	46.272
seq000001	Fc06	51.086
seq000002	Fc06	63.754
seq000002	Fc06	63.754
seq000002	Fc09	13.078
seq000002	Fc09	13.078
seq000002	Fc09	13.078
seq000002	Fc09	16.342
seq000002	Fc09	16.342
seq000002	Fc09	16.342
seq000002	Fc09	16.342
seq000002	Fc09	17.004
seq000002	Fc09	17.004
seq000002	Fc09	17.004
seq000002	Fc09	17.004
seq000002	Fc09	17.004
seq000002	Fc09	17.004
seq000002	Fc09	17.004
seq000002	Fc09	17.004
seq000002	Fc09	17.004
seq000002	Fc09	17.004
seq000002	Fc09	17.806
seq000002	Fc09	18.544
seq000002	Fc09	19.59
seq000002	Fc09	19.59
seq000002	Fc09	19.59
seq000002	Fc09	19.59
seq000002	Fc09	19.59
seq000002	Fc09	19.59
seq000002	Fc09	19.59
seq000002	Fc09	19.59
seq000002	Fc09	19.59
seq000002	Fc09	19.59
seq000002	Fc11	19.59
seq000002	Fc09	19.59
seq000002	Fc09	39.857
seq000002	Fc09	20.558
seq000002	Fc09	20.892
seq000002	Fc09	21.323

Output

seq000001	Fc06	35.948-63.754 72
seq000002	Fc09	13.078-39.857 34

Answer: While the datamash solution is clearly the best, just for fun an attempt based on perl
` perl -MList::Util=min,max -lane 'BEGIN{%y}{$x=@F[0]."\t".$F[1];push @{$y{$x}},@F[-1] }END{foreach(keys %y){my @d=@{$y{$_}};print "$_\t",scalar(@d),"\t",min(@d),"--",max(@d) } }' inputfile.txt `

- seq000002	Fc11	1	19.59--19.59
- seq000002	Fc09	34	13.078--39.857
- seq000001	Fc08	2	37.009--37.916
- seq000001	Fc06	72	35.948--51.086
- seq000002	Fc06	2	63.754--63.754