У меня есть файл со следующим содержимым в файле
192.168.168.23 pg.something
181.135.56.13 pg.nothing
15.123.96.12 l.everything
15.151.15.3 f.something
15.151.15.3 pg.something
64.196.12.34 pg.nothing
15.123.96.12 l.everything
181.168.56.13 pg.nothing
192.168.168.23 pg.something
192.168.168.23 l.everything
192.12.56.152 l.everything
181.135.56.13 pg.nothing
64.196.12.34 pg.nothing
64.196.12.34 pg.something
181.135.56.13 pg.nothing
64.196.12.34 l.everything
Я пытаюсь выяснить, нет ли обращений по каждому IP-адресу к каждому пользователю, отсортированному по IP-адресу.
Я попробовал это.
for i in `cat test_file |awk '{print $1}'|sort |uniq -c |sort -rn |awk '{print $2}'`; do grep $i test_file;done |uniq -c |awk '{print $2,$3,$1}'
и получил
64.196.12.34 pg.nothing 2
64.196.12.34 pg.something 1
64.196.12.34 l.everything 1
192.168.168.23 pg.something 2
192.168.168.23 l.everything 1
181.135.56.13 pg.nothing 3
15.151.15.3 f.something 1
15.151.15.3 pg.something 1
15.123.96.12 l.everything 2
192.12.56.152 l.everything 1
181.168.56.13 pg.nothing 1
Этот вывод в порядке. Но мне интересно, есть ли способ изменить этот вывод, чтобы он выглядел так...
64.196.12.34 pg.nothing 2
pg.something 1
l.everything 1
192.168.168.23 pg.something 2
l.everything 1
181.135.56.13 pg.nothing 3
15.151.15.3 f.something 1
pg.something 1
15.123.96.12 l.everything 2
192.12.56.152 l.everything 1
181.168.56.13 pg.nothing 1
То есть удалить только повторяющиеся IP-адреса...
Заранее спасибо.