Cara Mengekstrak Alamat IP Unik dari Fail Log Apache di Linux
- 3062
- 700
- Chris Little I
Soalan
Bagaimana saya mengekstrak semua alamat IP dari log httpd saya. Saya hanya perlu mengeluarkan alamat IP unik dari fail log Apache saya.
Berikut adalah entri log Apache sampel saya:
Xxx.64.70.Xxx - - [26/mar/2011: 00: 28: 23 -0700] "Dapatkan/http/1.1 "403 4609"-"" Mozilla/5.0 (x11; u; linux i686; en-us) applewebkit/534.16 (khtml, seperti tokek) krom/10.0.648.204 Safari/534.16 "
Jawapan
Setelah format entri log Apache yang telah anda sediakan, cara paling mudah untuk mengekstrak di alamat IP dari entri log Apache seperti ini adalah menggunakan kombinasi perintah AWK, Susun dan Uniq. Pertama kita perlu mendapatkan senarai panjang alamat IP. Ini boleh dilakukan dengan perintah awk:
$ awk 'cetak $ 1' apache_log
Langkah seterusnya ialah menyusun alamat IP dengan arahan jenis:
$ AWK 'Print $ 1' APACHE_LOG | menyusun
Dan akhirnya kita hanya mendapat alamat IP yang unik dengan mengalirkan output perintah di atas ke Uniq:
$ AWK 'Print $ 1' APACHE_LOG | Susun | uniq
Ini akan membuat senarai panjang alamat IP pendek, masing -masing pada baris berasingan. Sekiranya anda berhasrat untuk mengira pelawat unik di laman web anda, hanya akan mengalihkan output ke WC -L
.
$ AWK 'Print $ 1' APACHE_LOG | Susun | Uniq | WC -L
Tutorial Linux Berkaitan:
- Perkara yang hendak dipasang di Ubuntu 20.04
- Panduan Penyelesaian Masalah Umum GNU/Linux untuk Pemula
- Manipulasi data besar untuk keseronokan dan keuntungan bahagian 2
- Contoh Petua dan Trik Perintah Bash Berguna - Bahagian 1
- Skrip bash: Operasi aritmetik
- Cara Mengkonfigurasi Samba Server Kongsi di Ubuntu 22.04 Jammy ..
- Mint 20: Lebih baik daripada Ubuntu dan Microsoft Windows?
- Perkara yang perlu dilakukan setelah memasang ubuntu 20.04 Focal Fossa Linux
- Cara memformat cakera di linux
- Fail Konfigurasi Linux: 30 teratas yang paling penting
- « Cara membuat subdirektori baru dengan satu arahan di linux
- Saiz gambar batch menggunakan baris arahan Linux »