Linux
從文件中的 IP 地址獲取城市位置
我需要的是找到與每個 IP 地址關聯的城市,我已經將它們儲存在一個文件中。
例如,文件的內容是:
99.203.11.34 99.203.11.37 99.203.11.47 99.203.11.51 99.203.11.77 99.203.11.84 99.228.120.115 99.252.235.47 99.45.74.135 99.72.61.242 99.8.236.39 N ... M ...
您可以使用以下方法來獲得預期的結果,但每一個:
$ curl ipinfo.io/<IP>/city > city name
例如:
$ curl ipinfo.io/99.72.61.242/city > Sunrise
我想要類似的東西:
$ cat ip_list.txt | xargs curl ipinfo.io/$0/city
這有可能實現嗎?
使用
while read
循環:while read -r ip; do curl --fail "ipinfo.io/${ip}/city" || break; done<ip_list.txt
這將讀取
ip_list.txt
文件並將每一行設置為ip
循環變數,然後捲曲它。根據 Stéphane 的建議,我已將
--fail
標誌添加到 curl 以便它會在伺服器錯誤時靜默失敗,|| break
這樣它就會跳出循環。ipinfo.io 每月允許 50k API 請求免費帳戶,因此取決於您擁有多少 IP 以及您計劃使用它的頻率,這可能對您來說是個問題。