Bash command ini digunakan untuk berbagai tujuan
Tujuannya untuk memotong dan mendapatkan string tertentu yang dihasilkan dari output via tail atau cat
Contoh Log file
Sep 30 16:15:27 cluster-imap-proxy1 dovecot: imap-login: proxy(xxxxxng@kibinternational.com): Login failed to server.net:143: [AUTHENTICATIONFAILED] Authentication failed.: user=<xxxxg@kibinternational.com>, method=PLAIN, rip=36.89.38.225, lip=51.79.129.55, session=<hTSlVoSwkAskWSbh> Sep 30 16:15:27 cluster-imap-proxy1 dovecot: imap-login: Disconnected (proxy dest auth failed): user=<xxxxxg@kibinternational.com>, method=PLAIN, rip=36.89.38.225, lip=51.79.129.55, session=<hTSlVoSwkAskWSbh>
string yang ingin didapatkan adalah
rip=36.89.38.225
Maka
awk -F"rip=" ' {print $2}' /var/log/maillog
MEnghapus blank line yang dihasilkan dari perintah tail
cat /var/log/maillog | grep failed | awk -F"rip=" ' {print $2}' | cut -d, --output-delimiter ' ' -f 1
terdapat beberapa blank line dan cara menghapusnya adalah dengan menambahkan
cat /var/log/maillog | grep failed | awk -F"rip=" ' {print $2}' | cut -d, --output-delimiter ' ' -f 1,2 | awk 'NF'
Mendapatkan nilai terakhir dari awk
awk -F '.' '{print $(NF - 1)}'