Основная справка по awk: хотите просмотреть журнал Rails и найти количество уникальных IP-адресов в день - PullRequest
0 голосов
/ 07 июня 2011

У меня есть журнал Rails, который выглядит так

Started GET "[path-omitted]" for 166.137.138.210 at 2011-06-07 13:03:29 -0400
etc.

Я хотел бы написать сценарий awk, который извлекает количество уникальных IP-адресов за дату. Я новичок в awk. Как я могу это сделать?

Ответы [ 2 ]

4 голосов
/ 07 июня 2011

Если IP-адрес всегда находится в пятом столбце:

awk '{ ips[$5]++ } END { for (ip in ips) { print ip } }' your_log_file

Если вы хотите вывести счетчик, вы можете изменить оператор печати на:

print ips[ip]" "ip

или что-то подобное.

2 голосов
/ 07 июня 2011

Вы можете начать с чего-то вроде следующего быстрого и грязного скрипта - и затем легко применить awk для выполнения своей задачи.В приведенном ниже сценарии sample.txt - это файл, содержащий информацию журнала.Я оставляю финальный сценарий awk в качестве упражнения для вас :) Это должно быть действительно легко.Если у вас возникли проблемы, дайте мне знать, и я могу сообщить вам об этом через час или два, но, возможно, стоит попробовать.

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