我有一个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
对您不起作用?