2014-09-24 82 views
0

我通過命令需要IP地址的列表我使用bash腳本但有些領域的如google.com有很多IP地址我只需要一個結果列出的IP行,用bash腳本行

#!/bin/bash 
while read domain; do 
ipaddr=$(dig +short $domain) 
echo -e "$ipaddr" >> results.csv 
done < domainlist.txt 

輸出(如果我們以谷歌爲例)

173.194.35.101 
173.194.35.102 
173.194.35.96 
173.194.35.110 
173.194.35.98 
173.194.35.100 
173.194.35.99 
173.194.35.104 
173.194.35.103 
173.194.35.97 
173.194.35.105 

我只需要

+0

'head -1'得到第一行。 – fedorqui 2014-09-24 08:54:41

+0

@fedorqui說的是:'ipaddr = $(dig + short $ domain | head -1)' – 2014-09-24 08:55:24

回答

2
#!/bin/bash 
while read domain; do 
ipaddr=$(dig +short $domain | head -1) 
echo -e "$ipaddr" >> results.csv 
done < domainlist.txt 

檢查這是否正常。

ipaddr=$(dig +short $domain | head -1) 

管道通過head -1應該由命令返回ip.s的列表中返回的第一個IP。

+1

這就是他/她預計的我猜。根據我的理解,他/她想爲每個域名分配一個IP。 – Fazlin 2014-09-24 09:04:05

+1

解釋添加:) – Fazlin 2014-09-24 09:13:30

+0

感謝每一個是的我只需要一個IP – user2914397 2014-09-24 09:16:58

0

它管道head第一行:

ipaddr=$(dig +short $domain | head -n 1)