Jak wyodrębnić unikalne adresy IP z pliku dziennika Apache w Linux
- 2862
- 562
- Juliusz Janicki
Pytanie
Jak wyodrębnić wszystkie adresy IP z mojego dziennika HTTPD. Muszę wyodrębnić tylko unikalne adresy IP z mojego pliku dziennika Apache.
Oto mój przykładowy wpis dziennika Apache:
Xxx.64.70.XXX - - [26/Mar/2011: 00: 28: 23 -0700] "GET/HTTP/1.1 „403 4609”-„„ Mozilla/5.0 (x11; u; Linux i686; en-us) AppleWebkit/534.16 (Khtml, jak gecko) Chrome/10.0.648.204 Safari/534.16 "
Odpowiedź
Po dostarczonym formacie wpisu dziennika Apache najłatwiejszym sposobem wyodrębnienia adresów IP z tego rodzaju wpisów dziennika Apache jest użycie kombinacji poleceń AWK, Sort i Uniq. Najpierw musimy uzyskać długą listę adresów IP. Można to zrobić za pomocą polecenia AWK:
$ awk 'drukuj 1 $' apache_log
Następnym krokiem jest sortowanie adresów IP z poleceniem sort:
$ awk 'drukuj 1 $' apache_log | sortować
I wreszcie otrzymujemy jedynie unikalny adres IP, przesyłając strumieniowe dane wyjściowe powyższego polecenia do Uniq:
$ awk 'drukuj 1 $' apache_log | SORT | Uniq
To utworzy długą listę krótkich adresów IP, każdy z osobnej linii. Jeśli zamierzasz liczyć unikalnych odwiedzających na swojej stronie internetowej, po prostu przekieruj dane wyjściowe WC -L
.
$ awk 'drukuj 1 $' apache_log | SORT | uniq | WC -L
Powiązane samouczki Linux:
- Rzeczy do zainstalowania na Ubuntu 20.04
- GNU/Linux Ogólne Przewodnik po rozwiązywaniu problemów dla początkujących
- Manipulacja Big Data dla zabawy i zysku Część 2
- Przydatne przykłady i sztuczki
- Bash Scripting: Arytmetyczne operacje
- Jak skonfigurować Server Samba Udostępnij na Ubuntu 22.04 Jammy…
- Mint 20: Lepsze niż Ubuntu i Microsoft Windows?
- Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
- Jak sformatować dysk w Linux
- Linux Pliki konfiguracyjne: Top 30 Najważniejsze
- « Jak utworzyć nowy subdirectory za pomocą pojedynczego polecenia w Linux
- Zmiana obrazu wsadowego za pomocą linii poleceń Linux »