Если логфайл имеет чёткую структуру (как, например, у того же Apache), то достать нужную информацию нетрудно.
Вот список наиболее полезных команд:
- grep — то, с помощью чего мы ищем строки
- awk -F ‘ ‘ ‘{print $1}’ — то, с помощью чего мы разбиваем строку на части по какому-то символу (здесь по пробелу, который, кстати, по умолчанию, но я предпочитаю указывать явно) и берём лишь конкретный элемент (здесь — первый, нумерация с 1)
- sort — сортируем
- uniq — очищаем от дублей (перед этим надо отсортировать)
- uniq -c — подсчитываем количество каждого уникального (перед этим надо отсортировать)
А если лог с плавающей структурой, то вам всего лишь надо слегка уточнить ваши команды в цепочке. 😉