Я пытаюсь получить ключ и его значение вхождения, где оно является минимальным среди других вхождений ключа.
Ниже вводится
$ cat in1.txt
102,27.40
102,35.40
102,23.40
102,57.40
103,56.40
103,23.76
103,12.50
103,87.12
103,52.90
103,35.70
103,72.80
106,56.12
106,66.43
105,87.12
105,34.90
105,55.00
Я попробовал что-то подобное ниже, чтобы получитьмаксимальное вхождение и дает правильные результаты.
$ awk -F, ' { c[$1]++;if(max<c[$1]) { max=c[$1];maxa=$1 }} END { print max, maxa } ' in1.txt
7 103
, то есть ключ = 103, встречается 7 раз, где 7 - максимум по сравнению с другими ключевыми вхождениями 102 = 4, 106 = 2 и 105 = 3
Точно так же я хочу получить минимум, но он дает неверные результаты
$ awk -F, ' { if(NR==1) { min=1;minr=$1 } c[$1]++;if(c[$1]<=min ) { min=c[$1];minr=$1 }} END { print min, minr } ' in1.txt
1 105 # Wrong
Ожидаемый результат -
2 106
Не могли бы вы помочь исправить это.