मेरे पास एक फाइल 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आप के लिए काम नहीं करता है?