Я хочу получить количество записей за каждый час из файла журнала. вот пример данных;

001:2017-05-23 00:00:01 002:10.10.10.63
001:2017-05-23 00:00:03 002:10.10.10.63
001:2017-05-23 00:00:05 002:10.10.10.63
001:2017-05-23 00:00:07 002:10.10.10.63
001:2017-05-23 00:00:09 002:10.10.10.63
001:2017-05-23 01:00:12 002:10.10.10.63
001:2017-05-23 01:00:14 002:10.10.10.63

сверху вывод данных должен быть;

00 = 5
01 = 2

1 ответ1

2
cut -f2 -d' ' logfile
| cut -f1 -d:
| sort
| uniq -c
| sed 's/ *\([0-9]\+\) \([0-9][0-9]\)/\2 = \1/'
| sort
  1. только выводит время.
  2. только извлекает часы.
  3. отсортировать вывод - нужно по следующей строке
  4. подсчитывает вхождения каждого часа, выводит count hour
  5. исправляет форматирование
  6. сортирует по часам

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .