Как отсортировать строки по количеству появлений с bash в Linux? - PullRequest
1 голос
/ 31 мая 2019

У меня есть файл, который содержит такие строки:

May 25 05:34:16 192.0.2.2
May 25 05:34:16 192.0.2.1
May 25 05:34:16 192.0.1.5
May 25 05:38:16 192.0.2.2

Теперь я хочу получить количество вхождений IP-адресов и перечислить их по большинству появившихся, а также как часто они появлялись, например так:

2 May 25 05:34:16 192.0.2.2
1 May 25 05:34:16 192.0.2.1
1 May 25 05:34:16 192.0.1.5

Желательно один вкладыш в bash с awk.

1 Ответ

5 голосов
/ 31 мая 2019

С сортировкой GNU и уникальным GNU:

sort -k4 file | uniq --count --skip-fields=3

Выход:

      1 May 25 05:34:16 192.0.1.5
      1 May 25 05:34:16 192.0.2.1
      2 May 25 05:34:16 192.0.2.2

См .: man uniq

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...