从 url 中提取 bash 中的数据

从 url 中提取 bash 中的数据

如何使用以下命令提取 IP 地址和国家/地区并将它们单独放入一个字符串中,不带任何引号或文本中存在的任何其他字符:

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

$ip = ?

$国家= ?

答案1

您可以使用awk捕获ipandcountry并将其保存到数组中:

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

未来阅读:

相关内容