extrai dados no bash do url

0

Como posso extrair o endereço IP e o país e colocá-los individualmente em uma string sem quaisquer aspas ou quaisquer outros caracteres que estejam presentes no texto usando o próximo comando:

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

$ ip =?

$ country =?

    
por John Doe 05.09.2018 / 18:03

1 resposta

2

Você pode usar awk para capturar ip e country e salvar em uma matriz:

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

O primeiro elemento é ip e o próximo é country :

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

Ou para imprimir todos os elementos:

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

Leitura futura:

por 05.09.2018 / 18:13

Tags