Почему эта команда не сортируется на основе индекса uniq?

У меня есть строки в журнале, похожие на:

2015/11/02-07:55:39.735 INFO failed with ERR_AUTHORIZATION_REQUIRED. (10.10.10.11:61618) is not a trusted source. 2015/11/02-07:55:40.515 INFO failed with ERR_AUTHORIZATION_REQUIRED. (10.10.10.11:51836) is not a trusted source. 2015/11/02-07:55:39.735 INFO failed with ERR_AUTHORIZATION_REQUIRED. (10.10.10.10:61615) is not a trusted source. 2015/11/02-07:55:40.515 INFO failed with ERR_AUTHORIZATION_REQUIRED. (10.10.10.10:51876) is not a trusted source. 2015/11/02-07:55:39.735 INFO failed with ERR_AUTHORIZATION_REQUIRED. (10.10.10.10:61614) is not a trusted source. 2015/11/02-07:55:39.735 INFO failed with ERR_AUTHORIZATION_REQUIRED. (10.10.10.15:61614) is not a trusted source. 2015/11/02-07:55:39.735 INFO failed with ERR_AUTHORIZATION_REQUIRED. (10.10.10.15:61618) is not a trusted source. 2015/11/02-07:55:39.735 INFO failed with ERR_AUTHORIZATION_REQUIRED. (10.10.10.15:61613) is not a trusted source. 

Итак, я попробовал следующую команду, чтобы получить счет каждого uniq IP, отсортированный:

 grep ERR_AUTHORIZATION_REQUIRED file.log | awk '{print $6}' | cut -s -d ':' -f1 | tr -d '(' | sort | uniq -c 

Результат, который я получаю, похож на следующий:

 3 10.10.10.10 2 10.10.10.11 3 10.10.10.15 

Таким образом, это похоже на то, что IP-адрес сортируется до применения uniq -c (что имеет смысл с учетом команды), но если я поменяю команды uniq и sort , каждый IP будет напечатан с числом 1 .

  • Как удалить дубликаты в моем .bash_history, сохраняя заказ?
  • Uniq не удалит дубликат
  • Как найти количество неупорядоченных пар из списка
  • Учет уникальных пользователей в файле wtmp
  • Общие строки между двумя файлами
  • «Подсчитайте, сколько разных начальных букв написано в именах языков»
  • Удаление повторяющихся строк после сравнения первого шаблона и специального шаблона
  • сортировать и uniq столбцы отдельно в текстовом файле
  • One Solution collect form web for “Почему эта команда не сортируется на основе индекса uniq?”

    Из uniq manpage:

     DESCRIPTION Discard all but one of successive identical lines from INPUT (or standard input), writing to OUTPUT (or standard output). 

    Здесь критическое слово «последовательное». Он не ищет дубликаты в любой точке потока, а только те, которые сразу же следуют. Сортировка заставляет все дубликаты быть рядом друг с другом, поэтому их можно удалить (и подсчитать).

    Interesting Posts

    Как я могу подсчитать количество ядер процессора?

    Fedora 19 zfsonlinux – как настроить совместное использование cifs?

    Лучший способ поддержания точности часов в LInux

    Есть ли программа для мониторинга состояния xkb?

    Доступны ли данные из других систем с одинаковым UID?

    Можно ли обмениваться файлами между двумя разными os на одном компьютере?

    Нет вывода при запуске скрипта при запуске (но корректный вывод при запуске вручную)

    Выполнение произвольной команды

    Быстрое переключение между сеансами экрана

    Почему перехват системных вызовов дает разные результаты каждый раз в Linux / Android 2.6.29?

    Совместимость виртуального псевдонима Postfix с регулярным выражением

    Команды, чтобы узнать о незнакомой системе

    initrd или ramfs для SLES как /

    Почему команда sort дает мне пустой файл?

    Нет правила для создания target `include / config / auto.conf ', необходимого для` include / config / kernel.release'. Стоп

    Linux и Unix - лучшая ОС в мире.