BashのURLからデータを抽出する

BashのURLからデータを抽出する

次のコマンドを使用してIPアドレスと国を抽出し、テキストに引用符や他の文字なしで個別に文字列に入力するにはどうすればよいですか?

info_ip=`wget --tries=1 --timeout=10 -qO- http://ipinfo.io/?callback=callback; echo`

$ip = ?

$国=?

答え1

awkキャプチャを使用ipしてcountry配列に保存できます。

IFS=$'\n'
IP_country=( $(awk -F'[:"]' '/ip/ || /country/{ print $5}' <<<"$( wget ... )") )

次に、最初の要素はipで、次の要素は次のとおりですcountry

printf '%s\n' "${IP_country[0]}"
1.2.3.4
printf '%s\n' "${IP_country[1]}"
IR

またはすべての要素を印刷します。

printf '%s\n' "${IP_country[@]}"
1.2.3.4
IR

今後読む内容:

関連情報