다음 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
당신을 위해 작동하지 않는 이유 가 있습니까?