मेरे पास एक फाइल hostlist.txt
है जिसमें टेक्स्ट इस तरह है:
host1.mydomain.com
host2.mydomain.com
anotherhost
www.mydomain.com
login.mydomain.com
somehost
host3.mydomain.com
मेरे पास निम्नलिखित छोटी स्क्रिप्ट है:
#!/usr/local/bin/bash
while read host; do
dig +search @ns1.mydomain.com $host ALL \
| sed -n '/;; ANSWER SECTION:/{n;p;}';
done <hostlist.txt \
| gawk '{print $1","$NF}' >fqdn-ip.csv
जिसके लिए आउटपुट fqdn-ip.csv
:
host1.mydomain.com.,10.0.0.1
host2.mydomain.com.,10.0.0.2
anotherhost.internal.mydomain.com.,10.0.0.11
www.mydomain.com.,10.0.0.10
login.mydomain.com.,10.0.0.12
somehost.internal.mydomain.com.,10.0.0.13
host3.mydomain.com.,10.0.0.3
मेरा प्रश्न यह है कि मैं .
अल्पविराम से ठीक पहले बिना आह्वान के sed
या gawk
फिर से कैसे हटाऊं ? क्या कोई ऐसा कदम है जो मैं मौजूदा sed
या gawk
कॉल में कर सकता हूं जो डॉट को छीन लेगा?
hostlist.txt
इसमें मेजबानों की संख्या अधिक होगी, इसलिए मैं चाहता हूं कि मेरी स्क्रिप्ट तेज और कुशल हो।
dig +short
आप के लिए काम नहीं करता है?