У мене називається файл, 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
міститиме 1000 тисяч хостів, тому я хочу, щоб мій сценарій був швидким та ефективним.
dig +short
для вас не працює?