Непонятки с uniq и sort

На самом деле это единственный раздел про unix на этом форуме

Модератор: /dev/random

Аватара пользователя
nerve
Сообщения: 267
ОС: OpenBSD

Непонятки с uniq и sort

Сообщение nerve » 10.02.2016 16:29

Spoiler

# cat my1.log
192.34.80.176
192.34.80.176
192.34.80.176
192.34.80.176
192.34.80.176
192.34.80.176
192.34.80.176
192.34.80.176
192.34.80.176
162.247.72.199
192.34.80.176
192.34.80.176
192.34.80.176
192.34.80.176
192.34.80.176
192.34.80.176
192.34.80.176
192.34.80.176
192.34.80.176
192.34.80.176
207.46.13.143
37.114.149.110
37.114.149.110
37.114.149.110
37.114.149.110
37.114.149.110
37.114.149.110
37.114.149.110
37.114.149.110
37.114.149.110
37.114.149.110
37.114.149.110
37.114.149.110
37.114.149.110
37.114.149.110
37.114.149.110
37.114.149.110
37.114.149.110
37.114.149.110
37.114.149.110
37.114.149.110
37.114.149.110
37.114.149.110
37.114.149.110
37.114.149.110
37.114.149.110
37.114.149.110
37.114.149.110
37.114.149.110
37.114.149.110
37.114.149.110
37.114.149.110
207.46.13.10
207.46.13.10
207.46.13.10
207.46.13.10
207.46.13.10
207.46.13.10
207.46.13.10
207.46.13.10
207.46.13.10
207.46.13.10
207.46.13.10
207.46.13.10
207.46.13.10
207.46.13.10
207.46.13.10
207.46.13.10
207.46.13.10
207.46.13.10
207.46.13.10
207.46.13.10
207.46.13.10
207.46.13.10
207.46.13.10
207.46.13.10
207.46.13.10
207.46.13.10
207.46.13.10
207.46.13.10
207.46.13.10
207.46.13.10
176.51.146.242
37.114.149.110
89.207.64.138
207.46.13.68
178.35.168.88
178.35.168.88
141.0.14.128
89.207.64.138
89.207.64.138
207.46.13.10
207.46.13.10
207.46.13.10
207.46.13.10
207.46.13.10
207.46.13.10
207.46.13.10
207.46.13.10
207.46.13.10

Shell

uniq -c my1.log | sort -rn | head -5 31 37.114.149.110 30 207.46.13.10 10 192.34.80.176 9 207.46.13.10 9 192.34.80.176


Shell

sort my1.log | uniq -c | sort -rn | head -5 39 207.46.13.10 32 37.114.149.110 19 192.34.80.176 3 89.207.64.138 2 178.35.168.88


wtf?
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 15823
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: Непонятки с uniq и sort

Сообщение Bizdelnick » 10.02.2016 16:32

(man uniq) писал(а):Note: 'uniq' does not detect repeated lines unless they are adjacent. You may want to sort the input first, or use 'sort -u' without 'uniq'. Also, comparisons honor the rules specified by 'LC_COLLATE'.
Пишите правильно:
в консоли
вкупе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

NickLion
Сообщения: 3408
Статус: аватар-невидимка
ОС: openSUSE Tumbleweed x86_64

Re: Непонятки с uniq и sort

Сообщение NickLion » 10.02.2016 16:33

uniq — учитывает одинковые строки, идущие подряд. Всё логично.
Спасибо сказали:

Аватара пользователя
nerve
Сообщения: 267
ОС: OpenBSD

Re: Непонятки с uniq и sort

Сообщение nerve » 10.02.2016 16:37

то есть второй вариант - верный?
отсортировать чтоб одинаковые строки были рядом и uniq мог их корректно подсчитать.
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 15823
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: Непонятки с uniq и sort

Сообщение Bizdelnick » 10.02.2016 16:38

Да.
Пишите правильно:
в консоли
вкупе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали: