2015-01-20 28 views
-1

第一次張貼海報,所以我很抱歉,如果這已被覆蓋在以前的話題,我無法找到。基本上我的任務是創建一個腳本,對50個域名執行NSLookup,格式化結果並將它們傳遞給hosts文件。以後我會擔心檢查並覆蓋重複的條目。NSLookup腳本每週更新一次主機文件。

實施例:

輸入:NSLOOKUP www.cbc.ca

結果: 名稱:a1849.gc.akamai.net 地址:184.50.238.64,184.50.238.89 別名:www.cbc .ca和www.cbc.ca.edgesuite.net

輸出 - 最終:#184.50.238.64 www.cbc.ca a1849.gc.akamai.net

我想這是可能的使用grep,awk和sed的但一直在搞ab而且還沒有得到正確的組合(主要是因爲我不是正規表達式中學到的最多的東西)。我偏向於vbs,批處理和cmd建議。

在此先感謝您的時間和精力! :)

+0

多個相同的名稱中使用'host',而不是'nslookup'可能使分析更容易一點有它...它通常只產生一行輸出,而不是'nslookup'創建的多行報告。 – twalberg 2015-01-20 22:07:44

+0

嘿,我很欣賞反饋意見,並從此轉向使用主機vs nslookup(我更喜歡dig + short,但這些對我來說不可用),因爲正如您提到的那樣,它更容易解析。感謝您的建議! – Zivs 2015-01-21 17:44:08

回答

0
nslookup $NAME | awk -v name="$NAME" 'BEGIN{hit=0; addr=""; alias=""} /answer:/{hit=1} /^Address:/{if (hit == 1 && "" == addr) addr=$2} /^Name:/{alias=alias " " $2} END{print(addr, name, alias)}' 

只有一個地址,如果你的系統就不會像解決NSLOOKUP google.com ...