Saya mencoba untuk mengganti alamat IP dalam dnsmasq logfile dengan nama hostnya. File log sedang 'diawasi' dengan perintah 'tail -f /var/log/dnsmasq.log' di konsol dan saya ingin menyalurkan output ke sed untuk mengganti alamat IP dengan nama host pada HANYA baris yang berisi teks 'permintaan'. Alamat IP selalu di akhir baris ini.
Baris contoh adalah:
Apr 1 00:47:43 dnsmasq[1004]: query[A] gs-loc.apple.com from 10.1.1.188
Saya percaya perintahnya akan dalam bentuk:
tail -f /var/log/dnsmasq.log | sed -e "s/'regex'/$(dig +short -x $1)/g"
'Regex' perlu mengidentifikasi baris yang berisi string "query", mengekstrak alamat IP dari akhir baris itu dan menyimpannya (entah bagaimana) dalam variabel - saya menggunakan notasi di $1
sini - yang digunakan dalam ekspresi ganti dengan menggali.
UPDATE: Saya dihilangkan untuk menyebutkan bahwa alamat IP akan selalu dalam bentuk 10.1.nn