Считайте дублирующиеся строки с ограничением

Вы используете команды CSI s и CSI u которые имеют несовместимые интерпретации в зависимости от реализации.

Первый может быть или, "Сохраняют позицию курсора" или "Эмулятор терминала сброса", последнее существо закрытый интерфейс Соляриса.

Необходимо пользоваться библиотекой как ncurses для достижения портативной экранной обработки, но если Вы все еще хотите к hardcode escape-последовательности, это могло бы сделать то, что Вы ожидаете:

printf ( "\0337\033[6;45H %s \0338", asctime (timeinfo) );
6
16.07.2014, 19:57
1 ответ

Попробуйте так:

$ awk -v SUBSEP=" " '
    {a[$1,$2]++;b[$1,$2] = (b[$1,$2] && $3 > b[$1,$2]) ? b[$1,$2] : $3}
    END {
        for (i in a) {
            print i,a[i],b[i];
        }
    }
' file
A B 2 1990
A C 2 2001
A D 2 2001
B C 1 2013

Еще короче, если можно изменить порядок следования полей:

$ sort -n -k1 -k2 -k3 file | uniq -c -w 3
      2 A B 1990
      2 A C 2001
      2 A D 2001
      1 B C 2013
2
27.01.2020, 20:30

Теги

Похожие вопросы