Cara mengekstrak alamat IP unik dari file log Apache di Linux

Cara mengekstrak alamat IP unik dari file log Apache di Linux

Pertanyaan

Bagaimana cara mengekstrak semua alamat IP dari log httpd saya. Saya hanya perlu mengekstrak alamat IP unik dari file log Apache saya.

Berikut adalah sampel entri log Apache saya:

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, seperti tokek) chrome/10.0.648.204 Safari/534.16 " 

Menjawab

Setelah format entri log apache yang telah Anda pasang, cara termudah untuk mengekstrak dalam alamat IP dari jenis entri log apache ini adalah dengan menggunakan kombinasi perintah AWK, Sort, dan Uniq. Pertama kita perlu mendapatkan daftar panjang alamat IP. Ini bisa dilakukan dengan perintah AWK:

$ awk 'print $ 1' apache_log 

Langkah selanjutnya adalah mengurutkan alamat IP dengan perintah sortir:

$ awk 'print $ 1' apache_log | menyortir 

Dan akhirnya kami hanya mendapatkan alamat IP yang unik dengan streaming output dari perintah di atas ke Uniq:

$ awk 'print $ 1' apache_log | urutkan | uniq 

Ini akan membuat daftar panjang alamat IP pendek, masing -masing di baris terpisah. Jika Anda bermaksud menghitung pengunjung unik di situs web Anda cukup mengarahkan output ke WC -L.

$ awk 'print $ 1' apache_log | urutkan | uniq | WC -L 

Tutorial Linux Terkait:

  • Hal -hal yang harus diinstal pada ubuntu 20.04
  • Panduan Pemecahan Masalah Umum GNU/Linux untuk Pemula
  • Manipulasi data besar untuk kesenangan dan keuntungan bagian 2
  • Contoh dan trik Contoh Tips Baris Bash Berguna - Bagian 1
  • Bash Scripting: Operasi Aritmatika
  • Cara Mengkonfigurasi Samba Server Bagikan di Ubuntu 22.04 Jammy…
  • Mint 20: Lebih baik dari Ubuntu dan Microsoft Windows?
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
  • Cara memformat disk di linux
  • File Konfigurasi Linux: 30 Teratas Paling Penting