So extrahieren Sie eindeutige IP -Adressen aus der Apache -Protokolldatei unter Linux
- 4022
- 727
- Tom Jakobs
Frage
Wie extrahiere ich alle IP -Adressen aus meinem HTTPD -Protokoll. Ich muss nur eindeutige IP -Adressen aus meiner Apache -Protokolldatei extrahieren.
Hier ist ein My Sample Apache -Protokolleintrag:
Xxx.64.70.Xxx - - [26/März 2011: 00: 28: 23 -0700] "Get/http/1.1 "403 4609"-"" Mozilla/5.0 (x11; u; Linux i686; en-us) Applewebkit/534.16 (khtml wie Gecko) Chrome/10.0.648.204 Safari/534.16 "
Antworten
Auf dem Apache -Protokolleintragsformat, das Sie angegeben haben. Zuerst müssen wir eine lange Liste von IP -Adressen erhalten. Dies kann mit dem Befehl awk erledigt werden:
$ awk 'print $ 1' apache_log
Der nächste Schritt besteht darin, IP -Adressen mit dem Befehl sortieren zu sortieren:
$ awk 'print $ 1' apache_log | Sortieren
Und schließlich erhalten wir nur eine eindeutige IP -Adresse, indem wir die Ausgabe des obigen Befehls an UNIQ streamen:
$ awk 'print $ 1' apache_log | sortieren | Uniq
Dadurch wird eine lange Liste von kurzen IP -Adressen erstellt, die jeweils in separaten Zeile. Wenn Sie beabsichtigen, eindeutige Besucher auf Ihrer Website zu zählen WC -l
.
$ awk 'print $ 1' apache_log | sortieren | Uniq | WC -l
Verwandte Linux -Tutorials:
- Dinge zu installieren auf Ubuntu 20.04
- GNU/Linux Allgemeiner Fehlerbehebungsleitfaden für Anfänger
- Big Data Manipulation zum Spaß und Gewinn Teil 2
- Tipps und Trick -Beispiele für nützliche Bash -Bash -Befehlszeilen - Teil 1
- Bash Scripting: Arithmetische Operationen
- So konfigurieren Sie den Samba -Server -Teilen auf Ubuntu 22.04 Jammy…
- Mint 20: Besser als Ubuntu und Microsoft Windows?
- Dinge zu tun nach der Installation Ubuntu 20.04 fokale Fossa Linux
- Wie man die Festplatte unter Linux formatiert
- Linux -Konfigurationsdateien: Top 30 am wichtigsten
- « So erstellen Sie ein neues Unterverzeichnis mit einem einzigen Befehl unter Linux
- Batch -Bild -Größenänderung mit der Linux -Befehlszeile »