Примерно так с awk
:
$ awk '$1 != c { cc++; c=$1; ac=0; a="" } $2 != a { ac++; a=$2 } { printf("%d.%d\n", cc, ac) }' file
1.1
1.2
1.3
1.4
2.1
2.2
2.3
3.1
3.2
3.3
3.4
Скрипт awk
отслеживает четыре вещи:
a
. c
. ac
. куб.см
. Он обновляет эти переменные в зависимости от того, что находится в двух столбцах ввода.
cc
и запомните этот цвет. Также сбросьте ac
и a
. ac
и запомните это животное. Затем выведите cc
и ac
для каждой строки ввода.
Если животные в каждой строке гарантированно уникальны, можно избавиться от переменной a
.