Bagaimana cara menggunakan bash regex untuk mendapatkan ip address dari string log seperti ini 2020-01-11 09:45:15 login authenticator failed for (User) [46.38.144.202]: 535 Incorrect authentication data (set_id=) 2020-01-11 09:45:15 login authenticator failed for (User) [46.38.144.64]: 535 Incorrect authentication data (set_id=) 2020-01-11 09:45:15 login authenticator failed for (User) [46.38.144.124]: 535 Incorrect authentication data (set_id=) 2020-01-11 09:45:15 login authenticator failed for (User) [46.38.144.202]: 535 Incorrect authentication data (set_id=) 2020-01-11 09:45:16 login authenticator failed for (User) [46.38.144.57]: 535 Incorrect authentication data (set_id=) 2020-01-11 09:45:18 login authenticator failed for (User) [46.38.144.57]: 535 Incorrect authentication data (set_id=) 2020-01-11 09:45:18 login authenticator failed for (User) [46.38.144.231]: 535 Incorrect authentication data (set_id=) 2020-01-11 09:45:18 login authenticator failed for (User) [46.38.144.247]: 535 Incorrect authentication data (set_id=) 2020-01-11 09:45:19 login authenticator failed for (User) [46.38.144.146]: 535 Incorrect authentication data (set_id=) 2020-01-11 09:45:20 login authenticator failed for (User) [46.38.144.64]: 535 Incorrect authentication data (set_id=) Hasil yang ingin didapatkan adalah ip addressnya saja, maka anda bisa menggunakan kode berikut ini : tail -n 10 /var/log/exim/mainlog | grep 'login authenticator failed' | awk '{print $8'} | egrep -o '([0-9]{1,3}\.){3}[0-9]{1,3}' Hasil yang didapatkan adalah 46.38.144.117 46.38.144.64 46.38.144.231 46.38.144.124 46.38.144.17 46.38.144.247 46.38.144.79 46.38.144.17 46.38.144.202 46.38.144.179 dari hasil tersebut apabila ada yang duplikat kita bisa menggunakan uniq tail -n 10 /var/log/exim/mainlog | grep 'login authenticator failed' | awk '{print $8'} | egrep -o '([0-9]{1,3}\.){3}[0-9]{1,3}' | uniq Demikian selamat berkreasi Sumber : Pages in this namespace: No pages in this namespace. LayananHarga Domain .COM | Harga Domain .ID | Shared Hosting | Email Hosting | MySQL Hosting | wekekekek.... bedanya ama punya saya apaan yah? @Pak Skay_v13, - \d dan [0-9] itu ekivalen, lebih praktis nulis yg \d, di engine-nya kayanya jg lebih cepet yg \d, soalnya built-in, regex gak perlu baca pattern [0-9], - eregi & preg_match() lebih cepet yg preg_match - dr hasil filtering eregi tersebut 999.999.999.999 jg dianggap valid, - eregi itu case insensitive, artinya gak membedakan huruf besar / kecil, -edit- - atau modifikasi dr model-nya Pak Pangsit, jadi
kalo ditulis fungsi utuhnya, <?php $tmp = explode(".", $ip); $ip = "12.4.6.4"; model Pak Pangsit : <?php $ip = "12.4.6.4"; btw, yg ini koreksi : - baris : if($sub<0 || $sub>256) $return = FALSE; - HTH & CMIIW - |