Почему эта команда не сортируется на основе индекса 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 .

  • Как работает awk?! ++?
  • linux сравнить текстовый файл
  • Попытка сортировать два списка чисел и использовать uniq для получения пересечения
  • Полнофункциональная функциональность uniq
  • команды сортировки и uniq не работают, как ожидалось, когда выполняются cron
  • Как найти количество неупорядоченных пар из списка
  • Почему утилита uniq дает мне неожиданные результаты?
  • Как я могу получить последний номер строки уникальных команд, когда grepping мой файл истории?
  • 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

    Команда Split для создания файла с номером в качестве имени файла

    Как рекурсивно удалить разрешения на выполнение из файлов, не касаясь папок?

    Что такое файл конфигурации wpa_supplicant для скрытой сети без пароля?

    Удалите все заглавные буквы из определенного столбца в файле CSV

    SCP с одного сервера на другой без запроса пароля

    Новое перегрузочное состояние ноутбука – концентратор

    WebGUI для виртуализации?

    Позволяет ли Linux выполнить команду «rm -rf /»?

    Что означает эта запись UFW?

    Как суммировать номера совпадений

    Как извлечь время из текстового файла в другой текстовый файл / список

    Существуют ли какие-либо недостатки для запуска графического интерфейса на сервере CentOS?

    Почему «echo $ 0» дает разные результаты для двух разных терминалов?

    Как сделать резервную копию системных подключений на флэш-накопитель USB / флэш-накопитель?

    Добавить конкретное слово в каждую строку

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