Я использую следующий формат, чтобы подсчитать, сколько раз уникальные IP-адреса попадали на мой сайт.
Найдите файл журнала для общего количества уникальных ips
zcat *file* | awk '{print $1}' | sort | uniq -c | sort -n
Это дает мне список IP-адресов и их возникновение.
1001 109.165.113.xxx
1001 178.137.88.xxx
1001 178.175.13.xxx
1001 81.4.217.xxx
1060 74.122.180.xxx
1103 67.201.52.xxx
1203 81.144.138.xxx
1670 54.240.158.xxx
1697 54.239.137.xxx
2789 39.183.147.xxx
4630 93.158.143.xxx
То, что я хочу выяснить, просто и можно ли это сделать в одной командной строке.
Я просто хочу подсчитать этот список. Итак, из приведенного выше примера. Я хочу, чтобы буфер сообщил мне 11. Я думал, что могу использовать вторую команду AWK для подсчета уникальных вхождений 2-го вывода, но я думаю, что вы не можете использовать AWK дважды в одной командной строке.
Очевидно, я могу вывести приведенное выше в файл журнала, а затем запустить вторую команду awk для подсчета уникальных вхождений второго поля (IPS), но я надеялся сделать это с помощью одной команды.
sort|uniq -c|sort -n
наsort -u | wc -l
- person glenn jackman   schedule 05.12.2014