[英]Bash extracting name servers including if they are on new line, using whois
嗨,大家好,我試圖從網站中提取名稱服務器,但是如果服務器在換行符上,我似乎無法做到,例如,如果它是這樣的話,我可以這樣做。
nserver: ns-a.somesite.com 176.195.2.100
nserver: ns-b.somesite.com 176.195.2.101
但是,如果是這樣,我就無法做到:
nserver:
ns-a.somesite.com 176.195.2.100
ns-b.somesite.com 176.195.2.101
ns-b.somesite.com 176.195.2.102
這是我到目前為止的內容:
whois ebay.com | grep -E "[Ss]ervers{0,1}:"
要僅獲取名稱服務器的名稱:
whois ebay.com | grep -E "Name Server" | tr -d ' ' | awk -F":" '{ print $1 }'
您可能必須根據輸出的內容來選擇grep搜索條件,但這應該可以讓您獲得99%的輸出效果。
僅供參考,這將用“ Name Server”刪除行,它將刪除行中的空格,然后將其用冒號分隔,並打印第二個元素,即名稱服務器。
為更困難的示例添加:
whois sans.edu | tr -d ' ' | awk -F: '{ if ($1 == "NameServer" && length($2)>0) print $2 ;else if ($0 == "NameServers:") found=1; else if (found == 1 && length($0)>0) print $0; else found=0 }'
這個有點混亂。 刪除空格后使awk開心。 在awk中,我們執行以下操作:
found=1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.