ファイルのIPアドレスから都市の場所を取得する

ファイルのIPアドレスから都市の場所を取得する

AIが必要とするのは、各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 ...

次のコマンドを使用して予測結果を取得できますが、1対1に基づいて実行されます。

$ 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

これは可能ですか?

ベストアンサー1

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サーバーでエラーが発生した場合は自動的に失敗し、|| breakループから外れるようにカールにフラグを追加しました。 ipinfo.ioは無料アカウントに月50,000のAPIリクエストを許可するため、保有しているIPの数と使用頻度によってはこれが問題になる可能性があります。

おすすめ記事